在gridview中移动模板字段和绑定字段之间的列

时间:2013-05-07 11:46:45

标签: c# asp.net linq-to-sql gridview

我有一个gridview(GridviewProduct),我有一个模板字段列链接按钮作为删除从购物车和旁边的另一个模板字段列作为数量和其他三个字段是boundField如ProductName,ProductPrice和ProductBrand。看起来如下: enter image description here

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

  

插入索引超出范围

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

请帮忙。

2 个答案:

答案 0 :(得分:1)

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

GridViewProduct.Columns.Insert(4, Quantity);

我不确定这是否会消除所有问题,但至少应该出现此错误......

答案 1 :(得分: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());
        }