Gridview объединяет автоматически сгенерированные поля и поля шаблона - PullRequest
1 голос
/ 17 августа 2010

У меня есть несколько sqldatasources для моего gridview. Все столбцы генерируются автоматически. Однако все они имеют некоторые согласованные поля, и я хотел бы сделать эти поля шаблонными полями, чтобы я мог изменить для них шаблон редактирования, например добавить раскрывающееся меню. Это возможно? Если так, то как? :-D Спасибо!

1 Ответ

2 голосов
/ 19 августа 2010

Чтобы заменить определенные автоматически созданные столбцы шаблонными столбцами, просто определите столбец шаблона и скройте автоматически созданный столбец в коде. Автоматически сгенерированные столбцы будут по умолчанию появляться после столбцов шаблона, поэтому, если вы хотите, чтобы они были размещены надлежащим образом, вы также можете поменять местами выходные данные в коде.

В этом примере я изменяю вывод для вида сетки, который имеет два столбца шаблона и два автоматически сгенерированных столбца, в общей сложности 4. Я хочу заменить последний из моих автоматически сгенерированных столбцов (индекс 3) на столбец шаблона (индекс 1 ), но я хочу, чтобы один из моих автоматически сгенерированных столбцов (индекс 2) был дальше влево, поэтому я переключаю его с помощью столбца шаблона (индекс 1).

Private Sub gv_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gv.RowDataBound
    'hide Column 3'
    e.Row.Cells(3).Visible = False

    'Swap the results for Column 1 and Column 2'
    Dim swap = e.Row.Cells(1).Text
    e.Row.Cells(1).Text = e.Row.Cells(2).Text
    e.Row.Cells(2).Text = swap
End Sub

Это довольно просто и не требует никаких дополнительных классов.

...