2

这是我的代码

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow) {
        // DataRow data = ((DataRowView)e.Row.DataItem).Row;
        string ToolTipString = Convert.ToString(e.Row.Cells[2].Text);
        e.Row.Cells[2].Attributes.Add("title", ToolTipString);
        Label MyLabel = (Label)e.Row.FindControl("MyLabel");

        if (ToolTipString.Length < 20) {
            MyLabel.Text = ToolTipString;
        }
        else {
            MyLabel.Text = String.Format("{0}...", ToolTipString.Substring(0, 17));
            MyLabel.ToolTip = ToolTipString;
        }
    }
}

Convert.ToString(e.Row.Cells[2].Text);这里总是给我“”。我的代码有什么问题吗?

4

2 回答 2

5

请使用此代码

var ToolTipString = Convert.ToString(DataBinder.Eval(e.Row.DataItem, "Column"));
于 2013-03-08T05:48:38.097 回答
2

通常当列隐藏在网格上时会发生此问题。分两步解决,

  1. 而不是使用 Visible="false" 为这样的绑定字段使用 css 类,ItemStyle-CssClass="Column_Hide"

  2. 在 css 文件中创建 Column_Hide,

    .Column_Hide
     {
        display: none;
     }
    

希望你的问题能得到解决

于 2013-11-20T22:42:54.023 回答