Как я могу динамически изменить порядок столбцов в шаблоне gridview? - PullRequest
7 голосов
/ 06 января 2010

Как динамически изменить порядок столбцов в шаблоне gridview?

Ответы [ 3 ]

3 голосов
/ 06 января 2010
  1. Итерация по всем столбцам объекта GridView и Сохранение их в коллекции .

    List<DataControlField> columns = new List<DataControlField>();
    foreach (DataControlField column in gv.Columns)
    {
        columns.Add(column);
    }
    
  2. Перегруппируйте объектов-столбцов так, как вы хотите в коллекции.

    //Rearrange columns' collection..
    
  3. Очистить все столбцы объекта GridView и добавить столбцы из коллекции в GridView объект.

     gv.Columns.Clear();
     foreach (DataControlField column in columns)
     {
         gv.Columns.Add(column);
     }
    
0 голосов
/ 20 августа 2015

В событии RowCreated выполните итерацию по каждому столбцу, сохраните первую ячейку каждой строки (поле шаблона) в переменной (oCell) и удалите ее из коллекции, затем добавьте ее с помощью column.Add(oCell) до конца коллекции.

protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e){

    GridViewRow row = e.Row;
    // Intitialize TableCell list
    List<TableCell> columns = new List<TableCell>();
    foreach (DataControlField column in GridView1.Columns)
    {
        //Get the first Cell /Column
        TableCell cell = row.Cells[0];
        // 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());
}

http://geekswithblogs.net/dotNETvinz/archive/2009/06/03/move--autogenerate-columns-at-leftmost-part-of-the-gridview.aspx

0 голосов
/ 20 июля 2015

Это не похоже на работу с полями шаблона. После удаления и повторного добавления столбцов поля шаблона остаются пустыми (связанные поля показывают правильные значения).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...