модификация строк в DataGrid
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



модификация строк в DataGrid Expand / Collapse
Автор
Сообщение
21.02.2007 14:06
Junior Member

Junior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior Member

участник
Last Login: 26.02.2007 17:21
Сообщ.: 15, Visits: 31
Уважаемые форумчане,подскажите как решить такую проблему - вывела данные из Excel на форму в Datagrid,

Private Sub Excel_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = c:\Project117Form\BASIC1.xls;Extended Properties = ""Excel 8.0; HDR=YES"""

cmd = New OleDb.OleDbCommand("select *from [Лист1$]", cnn)

cnn.Open()

dscmd = New System.Data.OleDb.OleDbDataAdapter("select *from [Лист1$]", cnn)

dscmd.Fill(ds, "[‹Лист1$]")

tbl = ds.Tables(0)

DataGrid1.DataSource = ds

DataGrid1.DataMember = "[‹Лист1$]"

End Sub

код для внесения новой строки

Dim RowInsert As Data.DataRow
        dscmd.InsertCommand = New OleDbCommand("INSERT INTO [Лист1$](zavod,Дата,№завд,Зм,sekcia,Час,vid_prod,Вага,Натура) values (?,?,?,?,?,?,?,?,?)", cnn)
        dscmd.InsertCommand.Parameters.Add("@zavod", OleDbType.Integer).SourceColumn = "zavod"
        dscmd.InsertCommand.Parameters.Add("@№Дата", OleDbType.Date).SourceColumn = "Дата"
        dscmd.InsertCommand.Parameters.Add("@№завд", OleDbType.Integer).SourceColumn = "№завд"
        

        RowInsert = ds.Tables(0).NewRow
        RowInsert("zavod") = ds.Tables(0).Rows(DataGrid1.CurrentCell.RowNumber) 'не работает
        'RowInsert("Дата") = "12.01.2007" - так работает,
        'RowInsert("№завд") = 12121212
        'ds.Tables(0).Rows.Add(RowInsert)
        'DataGrid1.DataSource = tbl
        dscmd.Update(ds.Tables("[Лист1$]"))
        cnn.Close()
        DataGrid1.Refresh()

пытаюсь добавлять новые значения путем ввода в Datagrid,выскакивают ошибки,подскажите,что я не учла?спасибо всем кто откликнеться.

Сообщ. #910978
21.02.2007 23:28
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 06.01.2008 10:33
Сообщ.: 70, Visits: 678
>>     RowInsert = ds.Tables(0).NewRow
>>     RowInsert("zavod") = ds.Tables(0).Rows(DataGrid1.CurrentCell.RowNumber) 'не работает
 
Не понятно, а зачем добавлять данные в таблицу, взятые из той же таблицы? Коллекция Rows принадлежит Tables(0).
Ну а если на то уж пошло нужно кажется вот так RowInsert("zavod") = ds.Tables(0).Rows(DataGrid1.CurrentCell.RowNumber)("field_name")
Сообщ. #910990
22.02.2007 9:23
Junior Member

Junior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior Member

участник
Last Login: 26.02.2007 17:21
Сообщ.: 15, Visits: 31
Ну а если на то уж пошло нужно кажется вот так RowInsert("zavod") = ds.Tables(0).Rows(DataGrid1.CurrentCell.RowNumber)("field_name")
 
не работает,пишет = Не удается найти выходную таблицу 'Лист1$'.
хотя вот так записывает и видит таблицу

RowInsert("zavod") = 254

Сообщ. #910998
22.02.2007 9:51
Junior Member

Junior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior Member

участник
Last Login: 26.02.2007 17:21
Сообщ.: 15, Visits: 31
сделала вот так

RowInsert("zavod") = CType(ds.Tables(0).Rows(DataGrid1.CurrentCell.RowNumber)("zavod"), Integer)

ds.Tables(0).Rows.Add(RowInsert)

dscmd.Update(ds.Tables("[Лист1$]"))

cnn.Close()

DataGrid1.Refresh()

добавляет в таблицу и в DataGrid,но ДВА РАЗА!!!ПОЧЕМУ,ПЛИЗ ПОДСКАЖИТЕ,ЧТО ЕЩЕ НЕТ ТАК

Сообщ. #911001
22.02.2007 20:51
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 06.01.2008 10:33
Сообщ.: 70, Visits: 678
Светлячок (22.02.2007)

добавляет в таблицу и в DataGrid,но ДВА РАЗА!!!ПОЧЕМУ,ПЛИЗ ПОДСКАЖИТЕ,ЧТО ЕЩЕ НЕТ ТАК

 
Может быть потому, что при добавлении строки в DataGrid программа автоматически уже добавляет запись в Source-таблицу?
Сообщ. #911046
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl, Alexey Spirin

Время GMT +3:00, Сейчас 4:44