GridView单元格文本格式为长文本

时间:2013-03-06 10:14:22

标签: asp.net gridview

asp.net的GridView中是否有任何属性可以显示大/长文本数据 如果我的数据是“我的名字是Raj,我是印度人”,这个文本将显示在gridview的单元格中 我叫Ra ... 当用户使用鼠标悬停时,它会在工具提示中显示全文

asp.net gridview中是否有预定义的属性,或者我需要为它编写手动代码? 任何建议都表示赞赏......

1 个答案:

答案 0 :(得分:0)

我已经完成了这项工作,我使用了TemplateField和自定义代码,例如

标记:

<asp:Templatefield>
    <ItemTemplate>
        <asp:Label runat="server" id="MyLabel" />
    </ItemTemplate>
</asp:Templatefield>

代码隐藏:

private void GridView_OnRowDataBound(object sender, GridViewRowEventArgs e)
{
    // Get hold of the string we want to bind
    DataRowView rowView = (DataRowView)e.Row.DataItem;
    string longString = rowView["LongString"].ToString();

    Label MyLabel = (Label)e.Row.FindControl("MyLabel");

    // If the string is less than 20 characters, just bind it
    if (longString.Length() < 20)
    {
        MyLabel.Text = longString;
    }
    else
    {
        // If the string is more than 20 characters, bind the first
        // 17 characters plus an ellipsis, and bind the whole string
        // into the tooltip
        MyLabel.Text = String.Format("{0}...", longString.SubString(0,17);
        MyLabel.Tooltip = longString;
    }
}