C# 如何使用列表框为GridView中的第一列数据指定工具提示
我有一个C# 如何使用列表框为GridView中的第一列数据指定工具提示,c#,asp.net,gridview,C#,Asp.net,Gridview,我有一个列表框,其中的项目数与网格视图中的行数匹配。使用此列表框我只想在网格视图中的第一列数据中显示每行的工具提示。我已经在前端绑定了GridView 我尝试过的代码给出了超出范围的索引错误: protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) {
列表框
,其中的项目数与网格视图
中的行数匹配。使用此列表框
我只想在网格视图
中的第一列数据中显示每行的工具提示。我已经在前端绑定了GridView
我尝试过的代码给出了超出范围的索引错误:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
for (int i = 0; i <= GridView1.Rows.Count; i++)
{
String ProCol = GridView1.Rows[i].Cells[0].ToString();
if (ProCol.Length != 0)
{
e.Row.Cells[0].ToolTip = ListBox1.Items[i].ToString().Trim();
}
}
}
}
受保护的无效GridView1\u行数据绑定(对象发送方,GridViewRowEventArgs e)
{
如果(e.Row.RowType==DataControlRowType.DataRow)
{
for(int i=0;i在for循环的最后一次迭代中失败,因为索引是零基的(第一项有0个索引,最后一项有count-1
index)。替换
i <= GridView1.Rows.Count
i它在for循环的最后一次迭代中失败,因为索引是零基的(第一项有0个索引,最后一项有count-1
索引)。替换
i <= GridView1.Rows.Count
i尝试将代码移动到GridView
上的DataBound
事件,而不是在RowDataBound
中执行该工作。这样,当所有行都已绑定且GridView.rows
集合已初始化时,它将只运行一次
此外,您应该按照Michal Klouda在其回答中关于所写的操作,尝试将代码移动到GridView
上的DataBound
事件,而不是在RowDataBound
中进行操作。这样,当所有行都已绑定且GridView.rows
集合时,它只会运行一次上的已初始化
另外,你应该做Michal Klouda在他的回答中写的关于GridView1.Rows.Count对我来说是0,所以它确实进入了循环。它确实进入了循环,因为0,GridView1.Rows.Count对我来说是0,所以它确实进入了循环。它确实进入了循环,因为0
protected void GridView1_DataBound(object sender, EventArgs e)
{
var gv = (GridView)sender;
for (int i = 0; i < gv.Rows.Count; i++)
{
var oneRow = gv.Rows[i];
String ProCol = oneRow.Cells[0].ToString();
if (ProCol.Length != 0)
{
oneRow.Cells[0].ToolTip = ListBox1.Items[i].ToString().Trim();
}
}
}