如何限制datalist中的字数?
How to limit the number of words in datalist?
我在描述栏中有 200 个字,但我想在 Datalist 中的标签中只显示 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.
它背后的代码是什么?
一种方法是,
您可以遍历数据集中数据 table 中的行,然后仅从每行的列中取出 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();
我在描述栏中有 200 个字,但我想在 Datalist 中的标签中只显示 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.
它背后的代码是什么?
一种方法是,
您可以遍历数据集中数据 table 中的行,然后仅从每行的列中取出 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();