|
|
|
Update через DataGrid
|
|||
|---|---|---|---|
|
#18+
Господа, помогите. Прочитал книжку, а апдейт не получается, только строки для редактирования открываются в виде TextBox. А дальше темный лес для меня. В коде dgResults_CancelCommand не знаю что написать, чтобы возвращалась строка в исходное состояние. А в dgResults_UpdateCommand при изменении строки данные чтобы изменились в базе и на DataGrid Вот собственно сам DataGrid <asp:DataGrid id="dgResults" AutoGenerateColumns="False" OnItemCommand="Click_Grid" OnEditCommand="dgResults_EditCommand" OnCancelCommand="dgResults_CancelCommand" OnUpdateCommand="dgResults_UpdateCommand" runat="server"> <Columns> <asp:BoundColumn HeaderText="Должность" DataField="НаимДолжн"></asp:BoundColumn> <asp:BoundColumn HeaderText="Фамилия Имя Отчество" DataField="ФИО"></asp:BoundColumn> <asp:BoundColumn HeaderText="Кабинет" DataField="Кабинет"></asp:BoundColumn> <asp:BoundColumn HeaderText="Телефон" DataField="телефон"></asp:BoundColumn> <asp:BoundColumn HeaderText="ДопИнф" DataField="ДопИнф"></asp:BoundColumn> <asp:BoundColumn HeaderText="отдел" DataField="отдел"></asp:BoundColumn> <asp:BoundColumn HeaderText="Структура" DataField="Структура" Visible="False"></asp:BoundColumn> <asp:BoundColumn DataField="Код" Visible="False"></asp:BoundColumn> <asp:ButtonColumn HeaderText="Удаление" ButtonType="LinkButton" Text="Удалить" CommandName="cmdRemoveItem"></asp:ButtonColumn> <asp:EditCommandColumn HeaderText="Редактирование" EditText="Редактировать" CancelText="Отменить" UpdateText="Изменить" ButtonType="LinkButton"></asp:EditCommandColumn> </Columns> </asp:DataGrid> Вот код к нему: <%@ Page Language="VB" Debug="true" %> <%@ import Namespace="System.Data" %> <%@ import Namespace="System.Data.OLEDB" %> <script runat="server" language=vb> Sub Page_Load (ByVal Sender as Object, ByVal E as EventArgs) Dim DBConn as OleDBConnection Dim DBCommand as OleDBDataAdapter Dim DSPageData as New DataSet DBConn = New OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=C:\Tel_SN"& _ ".mdb") DBCommand = New OleDbDataAdapter ("Select НаимДолжн, ФИО, Кабинет, телефон, ДопИнф, отдел, Код, Структура from Тел", DBConn) DBCommand.Fill (DSPageData, _ "SignIn") dgResults.DataSource = DSPageData.Tables("SignIn").DefaultView dgResults.DataBind() End Sub Sub dgResults_EditCommand(source as Object, e as DataGridCommandEventArgs) Handles dgResults.EditCommand dgResults.EditItemIndex = e.Item.ItemIndex dgResults.DataBind() End Sub Sub dgResults_CancelCommand(source as Object, e as DataGridCommandEventArgs) Handles dgResults.CancelCommand dgResults.EditItemIndex = -1 dgResults.DataBind() End Sub Sub dgResults_UpdateCommand(source as Object, e as DataGridCommandEventArgs) Handles dgResults.UpdateCommand End Sub Спасибо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2007, 22:39 |
|
||
|
Update через DataGrid
|
|||
|---|---|---|---|
|
#18+
Все-таки этот код работает нормально. То есть, в режим редактирования dgResults_EditCommand DataGrid переходит, из режима редактирования CancelCommand в нормальный режим возвращается, но вот UpdateCommand не хочет работать. Вроде бы в textBox'е Datagrid'а новую запись пишу, а строка обновляется со старыми данными. Может кто знает, в чем причина? Sub dgResults_UpdateCommand(ByVal source As Object, ByVal e As DataGridCommandEventArgs) Dim НаимДолжн1 as string Dim Код1 as Integer Dim tb1, tb7 As TextBox tb7 = CType(e.Item.Cells(7).Controls(0), TextBox) Код1 = CInt(tb7.text) tb1 = CType(e.Item.Cells(0).Controls(0), TextBox) НаимДолжн1 = CStr(tb1.text) Dim DBConn as OleDBConnection Dim DBUpdate As New OleDbCommand Dim DSPageData as New DataSet DBConn = New OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=C:\Tel_SN"& _ ".mdb") DBUpdate.CommandText = "Update НГДУСН Set НаимДолжн = '" & НаимДолжн1 & "' where Код = " & Код1 & "" DBUpdate.Connection = DBConn DBUpdate.Connection.Open DBUpdate.ExecuteNonQuery() dgResults.EditItemIndex = -1 dgResults.DataBind() End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2007, 20:46 |
|
||
|
Update через DataGrid
|
|||
|---|---|---|---|
|
#18+
там используется конструкция вида Код: plaintext I Have Nine Lives You Have One Only THINK! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2007, 09:03 |
|
||
|
Update через DataGrid
|
|||
|---|---|---|---|
|
#18+
Нет, этот код на С#, а мне нужен на VB. Кстати, если скомпилировать данный код на С#, получится тот же на VB, наверное. Что у меня и есть в исходнике ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2007, 20:19 |
|
||
|
Update через DataGrid
|
|||
|---|---|---|---|
|
#18+
ANF76 Нет, этот код на С#, а мне нужен на VB. Кстати, если скомпилировать данный код на С#, получится тот же на VB, наверное. Что у меня и есть в исходнике так его нетрудно под Басик переделать примерно так Код: plaintext I Have Nine Lives You Have One Only THINK! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2007, 12:49 |
|
||
|
Update через DataGrid
|
|||
|---|---|---|---|
|
#18+
Написал код по примеру, но программа тормозится на этой строке: ds.Tables(0).PrimaryKey = New DataColumn(ds.Tables(0).Columns("Код")) пишется Value of type 'System.Data.DataColumn' cannot be converted to 'String' Как победить это? Пока знаний не хватает моих. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2007, 11:38 |
|
||
|
Update через DataGrid
|
|||
|---|---|---|---|
|
#18+
ANF76 Написал код по примеру, но программа тормозится на этой строке: ds.Tables(0).PrimaryKey = New DataColumn(ds.Tables(0).Columns("Код")) пишется Value of type 'System.Data.DataColumn' cannot be converted to 'String' Как победить это? Пока знаний не хватает моих. PrimaryKey - здесь задается ИМЯ столбца, который будет ключевым I Have Nine Lives You Have One Only THINK! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2007, 14:51 |
|
||
|
Update через DataGrid
|
|||
|---|---|---|---|
|
#18+
To HondKot Может Вы посмотрите код моей программы (прилагается), бьюсь, бьюсь, ищу коды в инете, но не помогает. С PrimaryKey вроде разобрался, но теперь пишет: reference not set to an instance of an object. останавливается на myColArray(0) = ds.Tables(0).Columns("Код") Буду признателен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2007, 05:49 |
|
||
|
Update через DataGrid
|
|||
|---|---|---|---|
|
#18+
подозреваю что ошибка здесь myColArray(0) = ds.Tables(0).Columns("Код") у вас массив не иниацилизирован а вы к нему обращаетесь, да и описан он неправильно напишите так Код: plaintext 1. 2. I Have Nine Lives You Have One Only THINK! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2007, 09:47 |
|
||
|
Update через DataGrid
|
|||
|---|---|---|---|
|
#18+
Исправил, страничка работает, но все равно данные после редактирования не обновляются в DataGride. ??? Какая еще заковыка заложена? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2007, 21:23 |
|
||
|
Update через DataGrid
|
|||
|---|---|---|---|
|
#18+
Спасибо всем, кто пытался мне помочь. Наконец-то этот код побежден. Помогла Библиотека классов .NET Framework DataGrid.EditItemIndex - свойство в MSDN ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2007, 21:36 |
|
||
|
Update через DataGrid
|
|||
|---|---|---|---|
|
#18+
Привет! Столкнулся с аналогичной проблемой и также дошел в своих изысках до ANF76Исправил, страничка работает, но все равно данные после редактирования не обновляются в DataGride. ??? Какая еще заковыка заложена? Если можно прокоментировать ANF76 Наконец-то этот код побежден. Помогла Библиотека классов .NET Framework DataGrid.EditItemIndex - свойство в MSDN и желательно код подкинуть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2007, 18:42 |
|
||
|
Update через DataGrid
|
|||
|---|---|---|---|
|
#18+
http://msdn.microsoft.com/library/rus/default.asp?url=/library/rus/cpref/html/frlrfsystemwebuiwebcontrolsdatagridclassedititemindextopic.asp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2007, 22:38 |
|
||
|
Update через DataGrid
|
|||
|---|---|---|---|
|
#18+
ANF76http://msdn.microsoft.com/library/rus/default.asp?url=/library/rus/cpref/html/frlrfsystemwebuiwebcontrolsdatagridclassedititemindextopic.asp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2007, 22:39 |
|
||
|
Update через DataGrid
|
|||
|---|---|---|---|
|
#18+
ANF76 ANF76http://msdn.microsoft.com/library/rus/default.asp?url=/library/rus/cpref/html/frlrfsystemwebuiwebcontrolsdatagridclassedititemindextopic.asp Прочитал 9 раз, ну хоть убейте не могу понять и всё тут!!!!!!! Если не жалко можно всё таки пояснить почему не обновляется в дата грид????? Ведь код который я увидел у вас и мой как две капли воды: Dim myConn As OleDbConnection Dim myData As OleDbDataAdapter Dim ds As New DataSet Dim cns As String = Application("database") myConn = New OleDbConnection(cns) myData = New OleDbDataAdapter("Select * from BazaCalc where " + DropDownList1.SelectedValue + " = True", myConn) myData.Fill(ds) Dim myColArray(0) As DataColumn myColArray(0) = ds.Tables(0).Columns("id") ds.Tables(0).PrimaryKey = myColArray Dim dr As DataRow dr = ds.Tables(0).Rows.Find(DataGrid1.DataKeys(e.Item.ItemIndex)) If ds.Tables(0).Rows.Count <> 0 Then dr("Marka") = CType(e.Item.Cells(1).Controls(0), TextBox).Text dr("Stoim") = CType(e.Item.Cells(3).Controls(0), TextBox).Text End If ds.AcceptChanges() DataGrid1.EditItemIndex = -1 DataGrid1.DataSource = ds.Tables(0).DefaultView DataGrid1.DataKeyField = "id" DataGrid1.DataBind() В чем проблема? Пожалуйста растолкуйте непутевому!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2007, 00:20 |
|
||
|
Update через DataGrid
|
|||
|---|---|---|---|
|
#18+
AndreyI В чем проблема? Пожалуйста растолкуйте непутевому!!!! что именно вы хотите получить? Код: plaintext Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2007, 11:57 |
|
||
|
Update через DataGrid
|
|||
|---|---|---|---|
|
#18+
Да проблема собственно в том что не обновляются данные, а в остальном все хорошо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2007, 18:46 |
|
||
|
Update через DataGrid
|
|||
|---|---|---|---|
|
#18+
AndreyI проблема собственно в том что не обновляются данные, а в остальном все хорошо я так и не увидил у вас кода обновления записей. поэтом интересно что вы вкладываете в это понятие? Код: plaintext Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2007, 20:13 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=34320909&tid=1352935]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
30ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 317ms |

| 0 / 0 |
