我正在研究.Net项目,我在使用GridView时遇到了一些问题。
我的页面中有几个按钮。当我单击绑定我的GridView的按钮时,一切正常,但在此之后,当我点击其他按钮时,在包含文本“Monday”的行的末尾会出现另一个单元格,它是空的。
有人可以告诉我这是什么问题吗?
由于
这是我的代码。
protected void GridView1_RowDataBound1(object sender, GridViewRowEventArgs e)
{
if (e.Row.Cells[0].Text.Contains("Monday"))
{
e.Row.BackColor = Color.Gray;
e.Row.ForeColor = Color.White;
e.Row.Cells[0].ColumnSpan = 2;
e.Row.Cells.Remove(e.Row.Cells[1]);
e.Row.Cells[1].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[2].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[3].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[4].HorizontalAlign = HorizontalAlign.Center;
}
else
{
e.Row.Cells[0].Width = 45;
e.Row.Cells[1].Width = 400;
e.Row.Cells[2].Width = 40;
e.Row.Cells[3].Width = 40;
e.Row.Cells[4].Width = 40;
e.Row.Cells[5].Width = 40;
e.Row.Cells[0].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[2].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[3].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[4].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[5].HorizontalAlign = HorizontalAlign.Center;
}
}
答案 0 :(得分:0)
转载了这个问题。看来gridview添加单元格以使其具有与列相同的编号。我能找到的唯一修复是在Page_Load事件中添加以下代码(您也可以将其添加到任何按钮方法 - 但这不实用):
foreach (GridViewRow gridRow in GridView1.Rows) {
if (gridRow.Cells[0].Text.Contains("Monday") && gridRow.Cells[0].ColumnSpan == 2 && gridRow.Cells.Count == 6)
gridRow.Cells.RemoveAt(5);
}
另一个解决方案(使用jquery)我发现谷歌搜索但未测试是在这里:
http://forums.asp.net/t/1413833.aspx/1
希望它有所帮助!