|
добавление удаление в DataGrid
|
|||
---|---|---|---|
#18+
учусь работать в среде VisualStudio.NET создаю с помощью мастера SqlDataAdapter1,со стандартными процедурами вставки,обновления,удаления,выборки(генерируются автоматически), генерирую DataSet. Вытаскиваю на форму DataGrid, в свойствах указываю DataSource: DataSet11 (моя сгенирированная DataSet) DataMember: Table3 (моя таблица в SQL,с колонками id,col1) Data key field : id Затем добавляю ButtonColumn: Edit,Update,cancel и Delete В коде пишу следующее: Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load SqlDataAdapter1.Fill(DataSet11) If Not IsPostBack Then DataGrid1.DataBind() End If End Sub Private Sub DataGrid1_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.EditCommand DataGrid1.EditItemIndex = e.Item.ItemIndex DataGrid1.DataBind() End Sub Private Sub DataGrid1_CancelCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.CancelCommand DataGrid1.EditItemIndex = -1 DataGrid1.DataBind() End Sub Private Sub DataGrid1_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.UpdateCommand Dim id, col1 As String Dim key As String = DataGrid1.DataKeys(e.Item.ItemIndex).ToString Dim tb As TextBox ' tb = CType(e.Item.Cells(0).Controls(0), TextBox) 'id = tb.Text tb = CType(e.Item.Cells(1).Controls(0), TextBox) col1 = tb.Text Dim r As DataSet1.Table3Row r = DataSet11.Table3.FindByid(key) ' r.id = id r.col1 = col1 SqlDataAdapter1.Update(DataSet11) DataGrid1.EditItemIndex = -1 DataGrid1.DataBind() End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim drCurr As DataRow Dim mdtRegion As New DataTable() drCurr = mdtRegion.NewRow mdtRegion.Rows.Add(drCurr) DataGrid1.EditItemIndex = mdtRegion.Rows.Count - 1 DataGrid1.DataBind() End Sub Private Sub DataGrid1_DeleteCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.DeleteCommand Dim myCommand As System.Data.SqlClient.SqlCommand Dim deleteCmd As String = "DELETE FROM table3 WHERE id = @id" myCommand = New System.Data.SqlClient.SqlCommand(deleteCmd, SqlConnection1) myCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@id", SqlDbType.Int, 4)) myCommand.Parameters("@id").Value = DataGrid1.DataKeys(CInt(e.Item.ItemIndex)) myCommand.Connection.Open() Try myCommand.ExecuteNonQuery() Response.Write("<font color=red><b>Record Deleted</b></font>") Catch ex As System.Data.SqlClient.SqlException Response.Write("<font color=red><b>ERROR: Could not delete record</b></font>") End Try myCommand.Connection.Close() SqlDataAdapter1.Fill(DataSet11) DataGrid1.DataBind() End Sub Редактировать и обновлять получается(при условии что в таблице ключевое поле id не обладает свойством identety,а хотелось бы редактировать и в таком случае),а вот с добавлением и удалением никак не выходит. При удалении запись удаляется,но страница сразу не обновляется,поэтому результата удаления сразу не видно. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2004, 08:06 |
|
|
start [/forum/topic.php?fid=17&fpage=128&tid=1354103]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
others: | 17ms |
total: | 137ms |
0 / 0 |