Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / не сохраняются данные в DataGrid при редактировании / 4 сообщений из 4, страница 1 из 1
29.12.2004, 08:50
    #32848839
Джек
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не сохраняются данные в DataGrid при редактировании
Добрый день всем!
У меня есть 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
29.12.2004, 08:56
    #32848846
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не сохраняются данные в DataGrid при редактировании
1. DataGrid от мелкомягких???
2. Версия Framework????
и вообще немного кода непомешало бы...???
...
Рейтинг: 0 / 0
29.12.2004, 09:11
    #32848862
Джек
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не сохраняются данные в DataGrid при редактировании
Уважаемый 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
29.12.2004, 09:57
    #32848942
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не сохраняются данные в DataGrid при редактировании
Во как!!! А я смотрю знакомое слово Response... (а вспомнить не могу где слыхал ) Это же WEB страница...
На самом деле (без шуток), быстрее по этой теме помогут на форуме по ASP.NET. У меня есть главы книги по WEB приложениям на VB.NET (рус). Могу переслать. Кому то уже посылал по аналогичным вопросам - говорят помогло... А сам sorry, бессилен т.к. по WEB работаю с PHP
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / не сохраняются данные в DataGrid при редактировании / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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