Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Новый топик    Ответить
 Как сделать цикл переборки данных в DataGridView?  [new]
orehov_i
Member

Откуда: Murom
Сообщений: 1007
Начал изучать .Net. Переписываю пограммку с VB6 на VB2010. Многого пока не понимаю. Например в 6-е есть такой код:
Private Sub XpB1_Click()
        rs.Source = "Select*from Autocar"
        rs.Open
If rs.BOF Then rs.MoveFirst
If rs.EOF Then rs.MoveLast
    For i = 0 To rs.AbsolutePosition + 1
    frmPetrol.Text18.Text = Adodc1.Recordset.Fields("Марка_автомобиля")
    frmPetrol.Text19.Text = Adodc1.Recordset.Fields("Гос_номер")
    frmPetrol.Text15.Text = Adodc1.Recordset.Fields("Расход_топлива")
Next i
End Sub

А как тоже самое переписать на VB2010 не очень понятно. То ли в DataGridView ячейки перебирать, то ли через DataTable, короче запутался уже.
Пока у меня вышла вот такая галиматья
 Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

            For Each DataGridViewRow In dgridAvtomobil.Rows
            If dgridAvtomobil.CurrentRow.ToString = dgridAvtomobil.SelectedCells.ToString Then
                frmPutlist.txtMarka_avto.Text = dgridAvtomobil.CurrentRow.Cells.ToString
            End If
        Next
  End Sub
Естественно это не работает.
Поэтому прошу помочь разобраться, что тут как делать.
9 июл 12, 14:51    [12839032]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать цикл переборки данных в DataGridView?  [new]
pation
Member

Откуда: Москва
Сообщений: 4498
orehov_i,

перебирайте не ячейки в гриде, а записи в BindingSource
9 июл 12, 19:27    [12840952]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать цикл переборки данных в DataGridView?  [new]
orehov_i
Member

Откуда: Murom
Сообщений: 1007
Да мне просто нужно объяснить чем заменить вот эти куски:
For i = 0 To rs.AbsolutePosition + 1
= Adodc1.Recordset.Fields("Марка_автомобиля")

Если это BindingSource, то какое свойство у него установить?
9 июл 12, 23:22    [12841640]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать цикл переборки данных в DataGridView?  [new]
orehov_i
Member

Откуда: Murom
Сообщений: 1007
Переписал вот так:
 Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim i As Integer
        For i = 0 To AutocarDataSetBindingSource.Position
            frmPutlist.txtMarka_avto.Text = AutocarDataSet.tblAutocar(i).Марка_автомобиля
        Next i
    End Sub

Но присваиваются данные только первой записи. Просто никак не пойму что нужно вставить в нижний индекс: For i = 0 To ?
10 июл 12, 00:52    [12841915]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать цикл переборки данных в DataGridView?  [new]
pation
Member

Откуда: Москва
Сообщений: 4498
orehov_i
Переписал вот так:
 Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim i As Integer
        For i = 0 To AutocarDataSetBindingSource.Position
            frmPutlist.txtMarka_avto.Text = AutocarDataSet.tblAutocar(i).Марка_автомобиля
        Next i
    End Sub


Но присваиваются данные только первой записи. Просто никак не пойму что нужно вставить в нижний индекс: For i = 0 To ?

а, что надо-то сделать?
если просто перебрать то: от 0 до Count
если получить текущую выбранную строку то: var currentCar = (Car)AutocarDataSetBindingSource.Current;
10 июл 12, 09:47    [12842662]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать цикл переборки данных в DataGridView?  [new]
orehov_i
Member

Откуда: Murom
Сообщений: 1007
Получилось вот так:
  Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim i As Integer
        For i = 0 To dgridAvtomobil.CurrentRow.Index.ToString
            frmPutlist.txtMarka_avto.Text = AutocarDataSet.tblAutocar(i).Марка_автомобиля
            frmPutlist.txtNomer_avto.Text = AutocarDataSet.tblAutocar(i).Гос_номер
            frmPutlist.txtNorma_rash.Text = AutocarDataSet.tblAutocar(i).Расход_топлива
        Next (i)
    End Sub
11 июл 12, 14:19    [12850721]     Ответить | Цитировать Сообщить модератору
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Ответить