1

我正在开发一个 .Net 项目,但 GridView 存在一些问题。

我的页面中有几个按钮。当我单击绑定我的 GridView 的按钮时,一切正常,但之后,当我单击其他按钮时,在 Rows 的末尾又出现了一个空单元格,其中包含文本“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;      
           }
       }
4

1 回答 1

1

转载了这个问题。网格视图似乎添加了单元格,以便与列具有相同的数量。我能找到的唯一解决方法是在 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 希望它有帮助!

于 2012-11-05T20:40:52.590 回答