powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / не сохраняются данные в DataGrid при редактировании
4 сообщений из 4, страница 1 из 1
не сохраняются данные в DataGrid при редактировании
    #32848839
Джек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день всем!
У меня есть DataGrid с кнопками Edit, Update, Cancel.
Вхожу в режим редактирования записи, изменяю значение ячейки,
нажимаю кнопку Update, в обработчике этого события поставил трассировку
...
Dim Text1 As TextBox = CType(e.Item.Cells(1).Controls(0), TextBox)
Response.Write(Text1.Text)
Response.End()
...
Дак вот, на страницу выдаётся старое значение ячейки.
Естественно его не надо записывать в базу.
Помогите пожалуйста разобраться чём дело?
Заранее большое спасибо!
...
Рейтинг: 0 / 0
не сохраняются данные в DataGrid при редактировании
    #32848846
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. DataGrid от мелкомягких???
2. Версия Framework????
и вообще немного кода непомешало бы...???
...
Рейтинг: 0 / 0
не сохраняются данные в DataGrid при редактировании
    #32848862
Джек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый vladgrig!
Отвечаю на Ваши вопросы.
1.DataGrid стандартный, т.е. он установился вместе с Visual Studio .NET.
2.Framework 1.1, т.е. v1.1.4322.
3.Код(функция выделена красным)
Public Class WebForm1
Inherits System.Web.UI.Page

#Region " Web Form Designer Generated Code "

'This call is required by the Web Form Designer.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.OdbcDataAdapter1 = New System.Data.Odbc.OdbcDataAdapter
Me.OdbcDeleteCommand1 = New System.Data.Odbc.OdbcCommand
Me.OdbcConnection1 = New System.Data.Odbc.OdbcConnection
Me.OdbcInsertCommand1 = New System.Data.Odbc.OdbcCommand
Me.OdbcSelectCommand1 = New System.Data.Odbc.OdbcCommand
Me.OdbcUpdateCommand1 = New System.Data.Odbc.OdbcCommand
Me.DataSet12 = New vbnet.DataSet1
Me.DataView1 = New System.Data.DataView
CType(Me.DataSet12, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.DataView1, System.ComponentModel.ISupportInitialize).BeginInit()
'
'OdbcDataAdapter1
'
Me.OdbcDataAdapter1.DeleteCommand = Me.OdbcDeleteCommand1
Me.OdbcDataAdapter1.InsertCommand = Me.OdbcInsertCommand1
Me.OdbcDataAdapter1.SelectCommand = Me.OdbcSelectCommand1
Me.OdbcDataAdapter1.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "pr1_uge", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("t_date", "t_date"), New System.Data.Common.DataColumnMapping("stan", "stan"), New System.Data.Common.DataColumnMapping("factrash", "factrash"), New System.Data.Common.DataColumnMapping("typegaz", "typegaz")})})
Me.OdbcDataAdapter1.UpdateCommand = Me.OdbcUpdateCommand1
'
'OdbcDeleteCommand1
'
Me.OdbcDeleteCommand1.CommandText = "DELETE FROM pr1_uge WHERE (stan = ?) AND (t_date = ?) AND (typegaz = ?) AND (fact" & _
"rash = ? OR ? IS NULL AND factrash IS NULL)"
Me.OdbcDeleteCommand1.Connection = Me.OdbcConnection1
Me.OdbcDeleteCommand1.Parameters.Add(New System.Data.Odbc.OdbcParameter("Original_stan", System.Data.Odbc.OdbcType.VarChar, 10, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "stan", System.Data.DataRowVersion.Original, Nothing))
Me.OdbcDeleteCommand1.Parameters.Add(New System.Data.Odbc.OdbcParameter("Original_t_date", System.Data.Odbc.OdbcType.Date, 0, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "t_date", System.Data.DataRowVersion.Original, Nothing))
Me.OdbcDeleteCommand1.Parameters.Add(New System.Data.Odbc.OdbcParameter("Original_typegaz", System.Data.Odbc.OdbcType.SmallInt, 0, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "typegaz", System.Data.DataRowVersion.Original, Nothing))
Me.OdbcDeleteCommand1.Parameters.Add(New System.Data.Odbc.OdbcParameter("Original_factrash", System.Data.Odbc.OdbcType.Int, 0, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "factrash", System.Data.DataRowVersion.Original, Nothing))
Me.OdbcDeleteCommand1.Parameters.Add(New System.Data.Odbc.OdbcParameter("Original_factrash1", System.Data.Odbc.OdbcType.Int, 0, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "factrash", System.Data.DataRowVersion.Original, Nothing))
'
'OdbcConnection1
'
Me.OdbcConnection1.ConnectionString = "DSN=lena;AutoStop=yes"
'
'OdbcInsertCommand1
'
Me.OdbcInsertCommand1.CommandText = "INSERT INTO pr1_uge(t_date, stan, factrash, typegaz) VALUES (?, ?, ?, ?)"
Me.OdbcInsertCommand1.Connection = Me.OdbcConnection1
Me.OdbcInsertCommand1.Parameters.Add(New System.Data.Odbc.OdbcParameter("t_date", System.Data.Odbc.OdbcType.Date, 0, "t_date"))
Me.OdbcInsertCommand1.Parameters.Add(New System.Data.Odbc.OdbcParameter("stan", System.Data.Odbc.OdbcType.VarChar, 10, "stan"))
Me.OdbcInsertCommand1.Parameters.Add(New System.Data.Odbc.OdbcParameter("factrash", System.Data.Odbc.OdbcType.Int, 0, "factrash"))
Me.OdbcInsertCommand1.Parameters.Add(New System.Data.Odbc.OdbcParameter("typegaz", System.Data.Odbc.OdbcType.SmallInt, 0, "typegaz"))
'
'OdbcSelectCommand1
'
Me.OdbcSelectCommand1.CommandText = "SELECT t_date, stan, factrash, typegaz FROM pr1_uge"
Me.OdbcSelectCommand1.Connection = Me.OdbcConnection1
'
'OdbcUpdateCommand1
'
Me.OdbcUpdateCommand1.CommandText = "UPDATE pr1_uge SET t_date = ?, stan = ?, factrash = ?, typegaz = ? WHERE (stan = " & _
"?) AND (t_date = ?) AND (typegaz = ?) AND (factrash = ? OR ? IS NULL AND factras" & _
"h IS NULL)"
Me.OdbcUpdateCommand1.Connection = Me.OdbcConnection1
Me.OdbcUpdateCommand1.Parameters.Add(New System.Data.Odbc.OdbcParameter("t_date", System.Data.Odbc.OdbcType.Date, 0, "t_date"))
Me.OdbcUpdateCommand1.Parameters.Add(New System.Data.Odbc.OdbcParameter("stan", System.Data.Odbc.OdbcType.VarChar, 10, "stan"))
Me.OdbcUpdateCommand1.Parameters.Add(New System.Data.Odbc.OdbcParameter("factrash", System.Data.Odbc.OdbcType.Int, 0, "factrash"))
Me.OdbcUpdateCommand1.Parameters.Add(New System.Data.Odbc.OdbcParameter("typegaz", System.Data.Odbc.OdbcType.SmallInt, 0, "typegaz"))
Me.OdbcUpdateCommand1.Parameters.Add(New System.Data.Odbc.OdbcParameter("Original_stan", System.Data.Odbc.OdbcType.VarChar, 10, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "stan", System.Data.DataRowVersion.Original, Nothing))
Me.OdbcUpdateCommand1.Parameters.Add(New System.Data.Odbc.OdbcParameter("Original_t_date", System.Data.Odbc.OdbcType.Date, 0, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "t_date", System.Data.DataRowVersion.Original, Nothing))
Me.OdbcUpdateCommand1.Parameters.Add(New System.Data.Odbc.OdbcParameter("Original_typegaz", System.Data.Odbc.OdbcType.SmallInt, 0, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "typegaz", System.Data.DataRowVersion.Original, Nothing))
Me.OdbcUpdateCommand1.Parameters.Add(New System.Data.Odbc.OdbcParameter("Original_factrash", System.Data.Odbc.OdbcType.Int, 0, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "factrash", System.Data.DataRowVersion.Original, Nothing))
Me.OdbcUpdateCommand1.Parameters.Add(New System.Data.Odbc.OdbcParameter("Original_factrash1", System.Data.Odbc.OdbcType.Int, 0, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "factrash", System.Data.DataRowVersion.Original, Nothing))
'
'DataSet12
'
Me.DataSet12.DataSetName = "DataSet1"
Me.DataSet12.Locale = New System.Globalization.CultureInfo("ru-RU")
'
'DataView1
'
Me.DataView1.Table = Me.DataSet12.pr1_uge
CType(Me.DataSet12, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.DataView1, System.ComponentModel.ISupportInitialize).EndInit()

End Sub
Protected WithEvents DataSet11 As vbnet.DataSet1
Protected WithEvents OdbcDataAdapter1 As System.Data.Odbc.OdbcDataAdapter
Protected WithEvents OdbcSelectCommand1 As System.Data.Odbc.OdbcCommand
Protected WithEvents OdbcInsertCommand1 As System.Data.Odbc.OdbcCommand
Protected WithEvents OdbcUpdateCommand1 As System.Data.Odbc.OdbcCommand
Protected WithEvents OdbcDeleteCommand1 As System.Data.Odbc.OdbcCommand
Protected WithEvents OdbcConnection1 As System.Data.Odbc.OdbcConnection
Protected WithEvents DataSet12 As vbnet.DataSet1
Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid
Protected WithEvents DataView1 As System.Data.DataView

'NOTE: The following placeholder declaration is required by the Web Form Designer.
'Do not delete or move it.
Private designerPlaceholderDeclaration As System.Object

Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: This method call is required by the Web Form Designer
'Do not modify it using the code editor.
InitializeComponent()
End Sub

#End Region

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
OdbcConnection1.Open()
BindData()
End Sub
Sub BindData()
OdbcDataAdapter1.Fill(DataSet12)
DataGrid1.DataBind()
End Sub
Sub DataGrid1_Edit(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)

' Set the EditItemIndex property to the index of the item clicked
' in the DataGrid control to enable editing for that item. Be sure
' to rebind the DateGrid to the data source to refresh the control.
DataGrid1.EditItemIndex = e.Item.ItemIndex
BindData()

End Sub
Sub DataGrid1_Update(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)

' ' Retrieve the text boxes that contain the values to update.
' ' For bound columns, the edited value is stored in a TextBox.
' ' The TextBox is the 0th control in a cell's Controls collection.
' ' Each cell in the Cells collection of a DataGrid item represents
' ' a column in the DataGrid control.
'Dim Text0 As TextBox = CType(e.Item.Cells(0).Controls(0), TextBox)
Dim Text1 As TextBox = CType(e.Item.Cells(1).Controls(1), TextBox)
'Dim Text2 As TextBox = CType(e.Item.Cells(2).Controls(0), TextBox)
'Dim Text3 As TextBox = CType(e.Item.Cells(3).Controls(0), TextBox)


Response.Write(Text1.Text)
Response.End()
'OdbcInsertCommand1.Parameters("t_date").Value = Convert.ToDateTime(Text0)
'OdbcInsertCommand1.Parameters("stan").Value = Text1
'OdbcInsertCommand1.Parameters("typegaz").Value = Convert.ToInt32(Text2)
'OdbcInsertCommand1.Parameters("factrash").Value = Convert.ToInt16(Text3)
'OdbcInsertCommand1.ExecuteNonQuery()

' DataGrid1.EditItemIndex = -1
'DataGrid1.DataBind()

End Sub

End Class
...
Рейтинг: 0 / 0
не сохраняются данные в DataGrid при редактировании
    #32848942
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во как!!! А я смотрю знакомое слово Response... (а вспомнить не могу где слыхал ) Это же WEB страница...
На самом деле (без шуток), быстрее по этой теме помогут на форуме по ASP.NET. У меня есть главы книги по WEB приложениям на VB.NET (рус). Могу переслать. Кому то уже посылал по аналогичным вопросам - говорят помогло... А сам sorry, бессилен т.к. по WEB работаю с PHP
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / не сохраняются данные в DataGrid при редактировании
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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