как добавить строку нижнего колонтитула динамично в gridview. с [закрытыми] текстовыми полями

5
задан Innova 28 June 2010 в 09:58
поделиться

3 ответа

Поскольку в представлении сетки может быть только одна строка нижнего колонтитула IMO, лучше добавить строку нижнего колонтитула, установив для свойства ShowFooter представления сетки значение правда . Установка Здесь может оказаться полезным свойство FooterStyle .

Переходя к программной части,

protected void MyGridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.Footer)
    {            
    TextBox txt = new TextBox();
          // set properties of text box
    e.Row.Cells[0].Controls.Add(txt);
    }
}

Попробуйте это и прокомментируйте.

Изменить: это будет полезно http://www.asp.net/data-access/tutorials/displaying-summary-information-in-the-gridview-s-footer-cs

6
ответ дан 14 December 2019 в 13:26
поделиться

Пожалуйста, следуйте Шаги

1. Назначьте источник данных для Gridview
2. В RowDataBound найдите тип RowType GridView
. 3. Если RowType - FooterRow
4. Динамически добавлять текстовое поле или желаемый элемент управления в строку (каждая строка отображается как TableRow)
вы можете настроить его.

0
ответ дан 14 December 2019 в 13:26
поделиться

Имеется только одна строка нижнего колонтитула, поэтому вы можете контролировать, будет ли она отображаться динамически в коде следующим образом:

if (GridView.EditIndex == -1)
    GridViewProject.FooterRow.Visible = true;
}
else
{
    GridViewProject.FooterRow.Visible = false;
}

В событии RowDataBound проверьте тип строки и установите все необходимые значения по умолчанию. : Я считаю полезным фактически использовать раскрывающиеся списки везде, где это возможно, чтобы пользователь не вводил неверные данные

switch (e.Row.RowType)
{
    case DataControlRowType.Header:
    case DataControlRowType.DataRow:
    case DataControlRowType.Footer:
         //popluate ddls
}
0
ответ дан 14 December 2019 в 13:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: