Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Продолжение вопроса по DataSet и DataGrid Добавлено: 06.12.03 15:56  

Автор вопроса:  sArutiun | ICQ: 153685354 

Доброго времени суток.

В Dataset выборка из таблицы на 5 полей.

SELECT f1, f2, f3, f4, f5 FROM table.

В DataGrid надо показать 3 поля (f1, f2, f3). Это я сделал.

Теперь, если выделить какую-либо запись и просмотреть значение полей, допустим через MessageBox, по при указании полей f4, f5 выдает ошибку.

Можно этот селект, если он не большой,  выбрать в массив, и при работе с полями использовать его. А если он большой? К тому же если селест выбран, стало быть эти значения где-то сидят.

Пробовал и через свойства ДатаГрида и ДатаСета-не получается.

По Фреймворк СДК тоже не нашел.

Кто-нибудь сталкивался с этим?

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #1
Добавлено: 06.12.03 16:11
Как Вы получаете значение полей f4 и f5?

Ответить

Номер ответа: 2
Автор ответа:
 sArutiun



ICQ: 153685354 

Вопросов: 11
Ответов: 42
 Профиль | | #2 Добавлено: 06.12.03 16:44

Так в том-то и дело, что если эти поля есть в запросе Select, но не включены в ДатаГрид, я не знаю как до них добраться.

Ответить

Номер ответа: 3
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #3
Добавлено: 06.12.03 17:24
Оч просто. Функция для получения текущей DataRow в DataGrid:

Public Function GetCurrentRow(ByVal Grid As DataGrid) As DataRow
' Получаем связного и приводим его к его же типу
Dim cm As CurrencyManager = CType(Grid.BindingContext(Grid.DataSource, Grid.DataMember), CurrencyManager)
' Получаем перекрышку текущего ряда
Dim drv As DataRowView = CType(cm.Current, DataRowView)
' Наконец, из перекрышки высасываем САМ РЯД
Return drv.Row

End Function

Теперь делаем так:

Dim dr As DataRow = GetCurrentRow (Grid1)
MsgBox dr("f4")
MsgBox dr("f5")

Ответить

Номер ответа: 4
Автор ответа:
 sArutiun



ICQ: 153685354 

Вопросов: 11
Ответов: 42
 Профиль | | #4 Добавлено: 06.12.03 18:01

Здорово. Спасибо за помощь.

Вроде все понятно, но попробовать это сделать я смогу только во вторник. Тогда же и напишу как получилось.

 

Ответить

Номер ответа: 5
Автор ответа:
 sArutiun



ICQ: 153685354 

Вопросов: 11
Ответов: 42
 Профиль | | #5 Добавлено: 07.12.03 07:43

До вторника не усидел и поехал на работу.

Функция работает прекрасно и возвращает все значения СЕЛЕКТа. только в строке объявления аргумента функции пришлось убрать  As DataGrid.

Павел, еще раз спасибо.

 

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам