Страница: 1 |
Вопрос: Продолжение вопроса по DataSet и DataGrid | Добавлено: 06.12.03 15:56 |
Автор вопроса: ![]() |
Доброго времени суток. В 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-сайт: Профиль | Цитата | #1 | Добавлено: 06.12.03 16:11 |
Как Вы получаете значение полей f4 и f5? |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ICQ: 153685354 Вопросов: 11 Ответов: 42 |
Профиль | Цитата | #2 | Добавлено: 06.12.03 16:44 |
Так в том-то и дело, что если эти поля есть в запросе Select, но не включены в ДатаГрид, я не знаю как до них добраться. |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() Администратор ICQ: 326066673 Вопросов: 368 Ответов: 5968 |
Web-сайт: Профиль | Цитата | #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 Автор ответа: ![]() ![]() ![]() ![]() ![]() ICQ: 153685354 Вопросов: 11 Ответов: 42 |
Профиль | Цитата | #4 | Добавлено: 06.12.03 18:01 |
Здорово. Спасибо за помощь. Вроде все понятно, но попробовать это сделать я смогу только во вторник. Тогда же и напишу как получилось.
|
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() ICQ: 153685354 Вопросов: 11 Ответов: 42 |
Профиль | Цитата | #5 | Добавлено: 07.12.03 07:43 |
До вторника не усидел и поехал на работу. Функция работает прекрасно и возвращает все значения СЕЛЕКТа. только в строке объявления аргумента функции пришлось убрать As DataGrid. Павел, еще раз спасибо.
|
Страница: 1 |
|