这是我的代码
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);
总是给我“”。我的代码有什么问题吗?
答案 0 :(得分:4)
请使用此代码
var ToolTipString = Convert.ToString(DataBinder.Eval(e.Row.DataItem, "Column"));
答案 1 :(得分:2)
通常,当列隐藏在网格上时会发生此问题。解决它的两个步骤,
而不是使用Visible =&#34; false&#34;像这样使用css类作为绑定字段,ItemStyle-CssClass =&#34; Column_Hide&#34;
在css文件中创建Column_Hide,
.Column_Hide
{
display: none;
}
希望你的问题能够得到解决