2010-10-10 13 views
-1

J'ai eu Datalist qui récupère une partie de atext de la base de données et ce texte doit être formaté .as s'il y a (.) .it commencé dans une nouvelle ligne. Alors, comment puis-je faire cela?formation de texte à partir de la base de données

<asp:DataList ID="DataList1" runat="server"> 
           <ItemTemplate> 
            <div class="scrollerDiv_open_about m10 ad_mun_font"> 
             <asp:Image ID="Image1" runat="server" ImageUrl='<%#Eval("Id","~/Handlers/AboutUsImage.ashx?Id={0}") %>' 
              Width="178" Height="115" Style="float: left; padding: 10px 10px 0 10px" /> 
              <span class="ad_mun_font_h"><asp:Label 
               ID="LblHeader" runat="server" Text='<%# Eval("Header") %>'></asp:Label></span> 
               <p> 
             <asp:Label ID="LblText" runat="server" Text='<%# Eval("Text") %>'></asp:Label>.</p> 
            </div> 
           </ItemTemplate> 
          </asp:DataList> 

Répondre

2

Il suffit d'utiliser la méthode Remplacer, comme suit:

// In your code, s would be filled in from the database. 
    string s = "This is trial text. I want a line break after a period character (.). I think this is what you mean but I am not certain." 

    s = s.Replace(".", ".\n\r") 

Edit:

Étant donné que vous liez à une source de données, il serait préférable d'agir directement sur la source de données à la place. Par exemple:

foreach (var x in myDataSource) 
{ 
    x.TextField = x.TextField.Replace(".", ".\n\r"); 
} 

myGridOrWhatever.DataSource = myDataSource; 
myGridOrWhatever.DataBind(); 

Je ne suis pas avec VS ouvert, mais je pense cela fonctionnerait, aussi longtemps que vous utilisez juste MyDataSource pour afficher des choses. Si vous modifiez des données dans votre grille ou autre, vous devrez peut-être repenser cela, mais cela devrait vous aider à démarrer.

+0

J'ai essayé de le faire mais ça n'a pas marché, c'est le code. – Myworld

+0

protected void DataList1_ItemDataBound (expéditeur d'objet, DataListItemEventArgs e) { Étiquette txt1 = e.Item.FindControl ("LblText") en tant qu'étiquette; chaîne S = txt1.Text; S = S.Remplacer (".", ". \ N \ r"); } – Myworld

+0

Vérifiez les modifications ci-dessus. Je pense que vous devriez éditer les données au niveau de la source de données, bien que vous ne l'ayez pas testé ... – awrigley

Questions connexes