Поскольку в представлении сетки может быть только одна строка нижнего колонтитула 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
Пожалуйста, следуйте Шаги
1. Назначьте источник данных для Gridview
2. В RowDataBound найдите тип RowType GridView
.
3. Если RowType - FooterRow
4. Динамически добавлять текстовое поле или желаемый элемент управления в строку (каждая строка отображается как TableRow)
вы можете настроить его.
Имеется только одна строка нижнего колонтитула, поэтому вы можете контролировать, будет ли она отображаться динамически в коде следующим образом:
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
}