powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / добавление удаление в DataGrid
1 сообщений из 1, страница 1 из 1
добавление удаление в DataGrid
    #32562778
helllen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
учусь работать в среде 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,а хотелось бы редактировать и в таком случае),а вот с добавлением и удалением никак не выходит. При удалении запись удаляется,но страница сразу не обновляется,поэтому результата удаления сразу не видно.
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / добавление удаление в DataGrid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]