我正在使用gridview来显示我的db表数据。但是有一个名为“描述”的列,包含1000个字符。我不希望将整个字符串绑定到gridview中。我如何将仅前100个字符绑定到gridview 列???
当我点击选择按钮时,我想要选择弹出窗口以及所选列详细信息。此时我想显示描述列的所有字符。
我有已经创建的弹出窗口和其他东西。但我仍然无法得到“描述栏”的前100个字母并将其绑定到gridview中。我怎样才能做到这一点 ?我如何将整个字符串放入弹出窗口?
所有答案都很欢迎..请帮助我。
谢谢你
答案 0 :(得分:0)
如果您有一个绑定到gridview的实体,则可以执行以下操作:
首先,添加一个新属性:
[NotMapped]
public string CutDescription
{
get
{
if (Description.Length <= 1000)
{
return Description;
}
return Description.Substring(0, 1000) + "...";
}
}
然后你可以将它绑定到gridview:
<asp:BoundField DataField="CutDescription" HeaderText="Description" />
这只是一种方法。希望它有所帮助。
编辑: 使用RowDatabound事件的另一种方法:
protected void Grid_RowDataBound(object sender, GridViewRowEventArgs e)
{
var row = e.Row;
if (row.RowType == DataControlRowType.DataRow)
{
// Just change the index of the cell
var description = row.Cells[1].Text;
if (description.Length > 100)
{
row.Cells[1].Text = description.Substring(0, 100) + "...";
}
}
}
答案 1 :(得分:0)
我自己找到解决方案
100%正常工作并经过全面测试
protected void grdName_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.Cells[8].Text.Length > 100)
{
e.Row.Cells[8].Text = e.Row.Cells[8].Text.Substring(0, 12);
}
}
}