2014-02-12 2 views
0

У меня есть проект, в котором мне нужно отображать много gridviews. количество gridviews зависит от количества таблиц, которые имеет каталог.Ручка Сортировка событий программно созданных gridviews

Например:

Каталог A = 8 таблицы

Каталог B = 7 столов

если пользователь нажмет каталога A, 8 GridViews должен быть создан. Я уже закончил создание этого gridviews программно, теперь моя проблема как я могу обработать каждое запрограммированное создание сортировки.

Это, как я создаю свои GridViews:

foreach (XMLClasses.table dirTab in dir.table.ToList()) 
{ 
    if (dirTab.id == child.tabid) 
    { 
     List<XMLClasses.column> columns = new List<XMLClasses.column>(); 
     columns = dirTab.column; 
     string[] rows = new string[columns.Count]; 
     int x = 0; 
     foreach (XMLClasses.column col in columns.ToList()) 
     { 
      dtContent.Columns.Add(col.title); 
      rows[x] = "b"; 
      x = x + 1; 
     } 
     dtContent.Rows.Add(rows); 
     GridView grdTables = new GridView(); 
     grdTables.AllowSorting = true; 
     grdTables.DataSource = dtContent; 
     grdTables.DataBind(); 
     grdTables.Width = Unit.Percentage(100); 
     grdTables.Sorting+=new GridViewSortEventHandler(grdTables_Sorting); 

     pnlDirectory.Controls.Add(grdTables); 

     Literal lt = new Literal(); 
     lt.Text = "<br/>"; 
     pnlDirectory.Controls.Add(lt); 

    } 
} 

-им акции с этим. я не знаю, что делать дальше ..

У кого-нибудь есть идея? Любая помощь будет оценена!

Спасибо!

+0

Не могли бы вы опубликовать код пожалуйста – Rohan

+0

редактировали. @Rohan – danielle

ответ

0

Если вы можете программно создавать сетки и устанавливать для них имя, вы можете обрабатывать сортировку.

void SortButton_Click(Object sender, EventArgs e) { 

String expression = ""; 
SortDirection direction; 

// Create the sort expression from the values selected 
// by the user from the DropDownList controls. Multiple 
// columns can be sorted by creating a sort expression 
// that contains a comma-separated list of field names. 
expression = SortList1.SelectedValue + "," + SortList2.SelectedValue; 

// Determine the sort direction. The sort direction 
// applies only to the second column sorted. 
switch (DirectionList.SelectedValue) 
{ 
    case "Ascending": 
    direction = SortDirection.Ascending; 
    break; 
    case "Descending": 
    direction = SortDirection.Descending; 
    break; 
    default: 
    direction = SortDirection.Ascending; 
    break; 
} 

// Use the Sort method to programmatically sort the GridView 
// control using the sort expression and direction. 
CustomersGridView.Sort(expression, direction); 

}

Что здесь происходит, что два свойства созданы; выражения и направления.

Используя объект sortDirection, чтобы установить сортировку (нисходящую или восходящую) и строку «выражение», которая может использоваться для таргетинга определенных количеств для сортировки и использования этих параметров для метода .Sort, желаемый эффект может быть использован.

Редактировать

Забыл добавить источник кода.

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.sort(v=vs.110).aspx

+0

Мне нужно событие сортировки, чтобы стрелять, когда пользователь нажимает на свой столбец – danielle

+0

Вы можете использовать этот код внутри обработчика события и получить свойства столбца, чтобы заполнить «выражение» правильным значением, поэтому метод Sort может сделать это для вас , http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.sorting(v=vs.110).aspx – Saidin

Смежные вопросы