Несколько вопросов о gridviews - PullRequest
0 голосов
/ 09 марта 2010

Мне нужна сетка на одной из моих веб-страниц, которая будет использоваться для ввода информации о бюджете. Я планировал использовать gridview, но я открыт для других идей, если что-то еще будет соответствовать моим потребностям лучше. Мне нужна следующая функциональность в моей сетке:

  1. Все ячейки находятся в режиме редактирования, как только страница загружается
  2. Нужен нижний колонтитул внизу, чтобы рассчитать итоги для отдельных столбцов

Я немного посмотрел на эту функциональность в сетке, но безуспешно. Будем весьма благодарны за любые ссылки или предложения о том, как сделать два пункта выше в сетке.

ПРИМЕЧАНИЕ. Я использую Visual Studio 2008

.

Ответы [ 2 ]

1 голос
/ 09 марта 2010

IMO, вам будет гораздо лучше кодировать это самостоятельно, используя ListView . Вы можете просмотреть события DataBound () и ItemDataBound (). GridView не поставляется со встроенной функциональностью.

OTOH, у Мэтта Дотсона есть сообщение в блоге , описывающее, как создать GridView со всеми строками в режиме редактирования.

0 голосов
/ 09 марта 2010

Итоги в нижнем колонтитуле могут быть применены с использованием комбинации javascript, выполняемой при каждом изменении данных и загрузке формы И динамически добавляя текстовые поля или метки в нижний колонтитул через событие RowDataBound GridView. Например,

// Create textboxes in footer to hold hours totals
if (e.Row.RowType == DataControlRowType.Footer)
{
    e.Row.CssClass = "wgv-ft";

    for (int i = 0; i < NumHoursTextBoxes; ++i)
    {
        var tb = new TextBox();
        tb.ID = String.Format("Hours{0}TotalTextBox", i);
        tb.CssClass = "total";
        tb.Enabled = false;
        e.Row.Cells[FirstHoursTextBoxIndex + i].Controls.Add(tb);
    }
}

Вместо использования встроенной функции редактирования (EditItemTemplates), которую предлагает GridView, вы можете просто использовать ItemTemplates и всегда отображать редактируемые текстовые поля или другие элементы управления. Я использовал эту технику. Вы все еще можете воспользоваться валидаторами и базовым набором элементов управления ASP.NET, но вам действительно нужно написать немного JavaScript для управления обновлениями итогов.

Надеюсь, это поможет. Желаем удачи.

...