Поместите несколько строк вида сетки в режим редактирования - PullRequest
3 голосов
/ 30 ноября 2010

У меня есть необходимость разрешить пользователю «пролистывать» изменения в сетке. В данных строки будет один редактируемый столбец. Пользователь должен иметь возможность нажать вкладку и перейти к следующему ряду, чтобы редактировать указанный столбец.

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

        reviewTransferGV.EditIndex = 0;
        reviewTransferGV.Rows[0].RowState = DataControlRowState.Edit;
        reviewTransferGV.EditIndex = 1;
        reviewTransferGV.Rows[1].RowState = DataControlRowState.Edit;
        reviewTransferGV.DataBind();

Ответы [ 3 ]

10 голосов
/ 30 ноября 2010

Я сделал обходной путь, создав свойство на странице:

protected bool IsEditMode
{
  get { return this.EditMode; }
  set { this.EditMode = value; }
}

Затем в GridView у меня есть элементы управления для режима просмотра и редактирования внутри шаблона элемента. Установка видимости на основе значения свойства:

<asp:TemplateField SortExpression="Status" HeaderText="Status">
<ItemTemplate>
    <asp:Label Id="lblStatus" Text='<%# Eval("Status") %>' Visible='<%# !IsEditMode %>' runat="server" />
    <asp:TextBox ID="txtStatus" Text='<%# Eval("Status") %>' Visible='<%# IsEditMode %>' runat="server" />
</ItemTemplate>

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

0 голосов
/ 23 февраля 2015

Еще один момент - как сохранить результаты в базе данных. В то время как при обычном использовании мы просто вызываем команду update, которая выполняет эту работу, в ItemTemplate теперь есть кнопка update. Поэтому я добавляю кнопку вне GridView и в обработчике вызываю метод UpdateRow вручную для каждой строки.

0 голосов
/ 30 ноября 2010

Я не верю, что GridView может иметь несколько строк в режиме редактирования одновременно. Если вы хотите отредактировать несколько строк, вам понадобится свернуть свой собственный механизм, чтобы сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...