0

我有一个gridview(GridviewProduct),其中我有一个模板字段列链接按钮作为从购物车中删除,旁边的另一个模板字段列作为数量,其他三个字段是boundField,如ProductName、ProductPrice和ProductBrand。如下所示: 在此处输入图像描述

我想将数量列移动到右侧网格视图的末尾。当我使用此代码时,它给了我一个错误:

插入索引超出范围

 var Quantity = GridViewProduct.Columns[1];
 GridViewProduct.Columns.RemoveAt(1);
 GridViewProduct.Columns.Insert(5, Quantity);

请帮忙。

4

2 回答 2

1

您的要求可以在 Gridview 的 RowCreated 事件中实现

protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
        {
            GridViewRow row = e.Row;
            List<TableCell> columns = new List<TableCell>();

            //Get the first Cell /Column
            TableCell cell = row.Cells[1];
            // Then Remove it after
            row.Cells.Remove(cell);
            //And Add it to the List Collections
            columns.Add(cell);

            // Add cells
            row.Cells.AddRange(columns.ToArray());
        }
于 2013-05-08T06:33:16.837 回答
1

如果您有 5 列并删除其中一列,则剩下 4 列。新的最后一列的索引将是 4(因为它是从零开始的)。

GridViewProduct.Columns.Insert(4, Quantity);

我不确定这是否能解决所有问题,但至少这个错误应该消失......

于 2013-05-07T12:02:30.367 回答