Как ограничить количество слов в списке данных? - PullRequest
0 голосов
/ 20 апреля 2019

У меня есть 200 слов в столбце описания, но я хочу отобразить только 100 слов в метке в Datalist.

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 Ответ

1 голос
/ 20 апреля 2019

Один из подходов был бы таким:

Вы можете зацикливаться на строках в таблице данных внутри вашего набора данных, а затем взять только 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();
...