0

我想用数据集创建一个gridview,我在数据绑定后隐藏了一些列。而且我还需要显示 Descriptin 列的前 50 个字符。我怎样才能做到这一点?这是我的代码

protected void grid_all_posts_DataBound(object sender, GridViewRowEventArgs e)
{
    e.Row.Cells[0].Visible = false;
    e.Row.Cells[1].Visible = false;

     // I want to display only substring in Gridview
     e.Row.Cells[3].Text = e.Row.Cells[3].Text.ToString().Substring(0,50);
}

我希望很清楚

4

2 回答 2

2

text-overflow您可以考虑使用 CSS3属性,而不是只显示一组字符。使用此属性,您可以指定以像素为单位的最大宽度,并显示一个省略号以指示更多文本可用。

<div style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:150px">
    <span title="Put your full text here">
        This is some really long text. We want it to cut off after a specified number of pixels, and show the elipses to indicate that more text is available.
    </span>
</div>

通过上面的示例,您可以将整个文本放在工具提示/标题中,当用户将鼠标悬停在文本上时可以查看。

于 2013-02-11T18:48:09.713 回答
0

此错误适用于 SubString 方法。当字符串长度小于 50 时子字符串上升异常

用这个替换你的最后一行代码:

e.Row.Cells[3].Text = (e.Row.Cells[3].Text.Length>50) ? e.Row.Cells[3].Text.ToString().Substring(0,50) : e.Row.Cells[3].Text;

此代码首先检查字符串的长度并在必要时调用子字符串。

于 2013-02-11T19:11:01.863 回答