2013-07-09 3 views
0

Я хочу отредактировать строку gridview. Для этого я добавил manifestitbutton = true. Я привязал gridview к файлу cs. Мне нужно прочесть 3 функции для этого? (Для редактирования я добавил 3 функции в файл cs.). Я взял помощь из Интернета. Но какой-то момент не понял.Как отредактировать строку сетки внутри?

-ASPX

<asp:GridView datakeyname="Id" Id ="Gridview1" onRowEditing="GridView1_RowEditing" RowCancelingEdit=" GridView1_RowCancelingEdit" onRowUpdating ="GridView1_RowUpdating" > 
<column> 
// hyperlink ,dataTextfield is id 
// some checkboxfield.(start from column 6) 
</column> 

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) 
    { 
     GridView1.EditIndex = e.NewEditIndex; 
     //code for Binding grid 
    } 

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) 
    { 
     // for fetching value of id and checkboxfield(column 6) 
    string Id= GridView1.DataKeys[e.RowIndex].Values["Id"].ToString()); 
    bool ischeck = (Gridview1.Rows[e.RowIndex].Cells[5].Controls[0] as checkBox).Checked; 
     // code for updating grid 
      GridView1.EditIndex = -1; 
     //Now bind the gridview gain here 
    } 

protected void GridView1_RowCancelingEdit(object sender, GridViewUpdateEventArgs e) 
    { 
     GridView1.EditIndex = -1; 
     //Now bind the gridview gain here 
    } 

ли я идти в правильном направлении? Что такое использование datakey.Does я правильно? Почему GridView1.EditIndex = -1 в обновлении и отменить event.Column 6 checkboxfield.why .Controls [0] используется для доступа к этому полю checkbox.

ответ

0
  1. Если вы используете ObjectDataSource (или SqlDataSource или OleDbDataSource), чтобы использовать и привязка UpdateCommand, DeleteCommand, InsertCommand, то вам не нужно явно написать эти три функции для операции редактирования/обновления. Эти функции вам понадобятся при написании кода привязки в коде или если вы хотите выполнить дополнительную работу до/после любой операции.

  2. RowEditing пожары, когда вы нажимаете "Редактировать" на GridView. Здесь вы указываете, какую строку следует открыть в editmode, написав GridView1.EditIndex = e.NewEditIndex. Вы также можете написать код здесь, чтобы выполнить любую работу, которая требуется до того, как пользователь будет помещен в editmode. Например, вы можете проверить условия бизнес-правил и отменить операцию, если правила не выполняются.

  3. RowUpdating срабатывает при нажатии кнопки "сохранить "/" обновление" на GridView. Это запускается до фактической операции с базой данных. Если у вас есть UpdateCommand на источнике данных, вам не нужно писать процедуру сохранения базы данных, иначе вы пишете это здесь.

  4. DataKeys идентифицировать «ключ», который идентифицирует данные, которые связаны. Вы указываете DataKeys при привязке данных к GridView. Например, первичный ключ таблицы базы данных. Эта строка: string Id= GridView1.DataKeys[e.RowIndex].Values["Id"].ToString()); Здесь вы подбираете значение ключа «Id» (у вас может быть несколько ключей) текущей строки.

  5. GridView1.EditIndex = -1 в обновление или отменить указывает, что GridView больше не должно быть в EditMode. Если это значение равно> = 0, то GridView помещается в editmode для этой строки (индекс, начинающийся с 0). Поэтому мы установили его в -1, чтобы указать, что он не должен находиться в editmode.

  6. Controls[0] Используется для выбора первого элемента управления в этой ячейке (у вас может быть несколько элементов управления). Кроме того, вы также можете использовать FindControl.

+0

Благодаря abhitalks для ур help.It действительно помогают меня lot.I добавили 3 функцию, так как переплетены сетка из CS file.Findcontrol не работает, потому что я использовал не CheckBoxField CheckBox управления. –

+0

рад помочь. Благодарю. – Abhitalks

Смежные вопросы