如何将小部分数据绑定到c#中的listview中的标签 [英] how to bind small portion of data to label in listview from database in c#
问题描述
嗨
我是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屋!