如何将小部分数据绑定到c#中的listview中的标签 [英] how to bind small portion of data to label in listview from database in c#

查看:81
本文介绍了如何将小部分数据绑定到c#中的listview中的标签的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述




我是c#,asp.net的初学者,我正在创建旅行页面,我必须显示简化形式的travelogues.i使用列表视图我在哪里binled标签到数据库.Below是我的列表视图和代码隐藏





listview

Hi
I am beginner in c#,asp.net and i am creating travelogue page where i have to display reduced form of travelogues.i have used a list view where i have binded labels to database.Below is my listview and codebehind


listview

<asp:ListView ID="ListView2" runat="server"
           onselectedindexchanged="ListView2_SelectedIndexChanged"  OnPagePropertiesChanging="ListEvents_PagePropertiesChanging" >
           <LayoutTemplate >
     <table class="layout display responsive-table">
        <tr >

        </tr>
        <tbody>
           <asp:PlaceHolder ID="itemPlaceHolder" runat="server" />
        </tbody>
     </table>
  </LayoutTemplate>

  <ItemTemplate>
     <tr>
           <td class="organisationnumber">
               <asp:Image ID="Image1" runat="server" Width="150px" ImageUrl=<%# Eval("image")%> /></td>
           <td class="organisationname">
               <asp:Label ID="Label5" runat="server" Text=<%# Eval("heading")%> Font-Bold="True"></asp:Label><br />
                State:<asp:Label ID="Label2" runat="server" Text=<%# Eval("State")%> Font-Bold="True"></asp:Label><br />
               <asp:Label ID="Label6" runat="server" Text=<%# Eval("description")%>></asp:Label></td>
           <td class="actions">
              <a href='<%# "traveloguedet.aspx?ImageID=" + Eval("id") %>' class="edit-item" title="Edit">Click Here</a>

           </td>
       </tr>

  </ItemTemplate>
  <EmptyDataTemplate>
           <td id="Td1"  runat="server">Sorry no Travelogue Available</td>
        </EmptyDataTemplate>

  </asp:ListView>





Codebehind:



Codebehind:

string query = "select id,heading,description,state,image from travelogue where trid='1'";

        SqlDataAdapter da = new SqlDataAdapter(query, constr);
        DataTable table = new DataTable();

        da.Fill(table);

        DataTable outputTable = table.Clone();

        for (int i = table.Rows.Count - 1; i >= 0; i--)
        {
            outputTable.ImportRow(table.Rows[i]);
        }





        ListView2.DataSource = outputTable;
        ListView2.DataBind();





这里的描述是一个非常长的段落,所以如果我将它绑定到它显示的标签整个段落。我想只显示段落的前2行或3行。任何人都可以告诉我一种方法。请帮助我。祝福你。提前感谢你



Here description is a very long paragraph so if i bind that to the label it displays whole para.I want to display only first 2 or 3 lines of the paragraph.Can anyone tell me a way to do it.please help me.god bless you.Thank you in advance

推荐答案

您可以截断描述文本,如下所示:



You can truncate the description text like follows:

<asp:Label id="Label6" runat="server" text='<%# Eval("description") != null ? TruncateText(Eval("description").ToString(), 200) : string.Empty %>'></asp:Label>





TruncateText( Eval(description)。ToString(),200)显示描述文本的前200个字符。





TruncateText(Eval("description").ToString(), 200) displays first 200 characters of the description text.

public string TruncateText(string inputText, int length)
{
	if (inputText.Length <= length)
		return inputText;

	var delimiters = new[] { ' ', '.', ',', ':', ';' };
	var index = inputText.LastIndexOfAny(delimiters, length - 3);

	if (index > (length / 2))
		return inputText.Substring(0, index) + "...";

	return inputText.Substring(0, length - 3) + "...";
}


这篇关于如何将小部分数据绑定到c#中的listview中的标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆