如何限制数据列表中的单词数?

时间:2019-04-20 10:34:53

标签: c# asp.net word datalist

我在描述栏中有200个单词,但我想在“数据列表”的“标签”中仅显示100个单词。

SqlDataAdapter adp = new SqlDataAdapter("select * from tbitem", ConfigurationManager.ConnectionStrings["cn"].ConnectionString);
    DataSet ds = new DataSet();
    adp.Fill(ds);
    DataList1.DataSource = ds;
    DataList1.DataBind();

在HTML

<asp:DataList ID="DataList1" runat="server">           
            <ItemTemplate>
                <b>Name: </b> <%#Eval("itemnam") %><br />
                   <b>Description: </b> 
                <asp:Label ID="Label1" runat="server" Text='<%#Eval("itemdescription") %>'></asp:Label>  <br /><br />
            </ItemTemplate>               
        </asp:DataList>

说明是

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Viverra justo nec ultrices dui. At varius vel pharetra vel turpis nunc eget lorem dolor. Iaculis at erat pellentesque adipiscing commodo elit at imperdiet. Arcu non odio euismod lacinia at quis risus. Quam adipiscing vitae proin sagittis nisl. Consectetur lorem donec massa sapien faucibus et molestie. Mattis vulputate enim nulla aliquet porttitor lacus luctus accumsan. Quis imperdiet massa tincidunt nunc. Risus sed vulputate odio ut enim blandit volutpat. Nunc id cursus metus aliquam eleifend. Tristique magna sit amet purus gravida quis blandit turpis. Sollicitudin tempor id eu nisl nunc. Enim eu turpis egestas pretium aenean pharetra magna. Nibh nisl condimentum id venenatis. Duis at tellus at urna condimentum mattis pellentesque.

其背后的代码是什么?

1 个答案:

答案 0 :(得分:1)

一种方法是

您可以在数据集内的数据表中的行上循环,然后从每一行的列中只提取100个拆分词,然后从拆分的词中创建字符串并将其绑定到同一列

该代码尚未经过测试,但是您可以使用以下代码,

DataSet ds = new DataSet();

adp.Fill(ds);

foreach (DataRow row in ds.Tables[0].Rows)
{
    row["itemdescription"] = string.Join(" ", Convert.ToString(row["itemdescription"]).Split(new char[] { ' ' }).Take(100));
}   

ds.Tables[0].AcceptChanges();

DataList1.DataSource = ds;
DataList1.DataBind();