powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / У начинающего есть вопрос по DataGrid.
8 сообщений из 8, страница 1 из 1
У начинающего есть вопрос по DataGrid.
    #32535058
dencat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос в следующем.

Есть форма, на форме DataGrid и несколько TextBox.

DataGrid заполняется из DataSet, содержит одну таблицу.

Как сделать, чтобы при выборе строки в DataGrid, мышью или клавишами в TextBox появлялись поля выбранной записи?

И какое событие DataGrid происходит при переходе на другую запись?

Зарание спасибо.
...
Рейтинг: 0 / 0
У начинающего есть вопрос по DataGrid.
    #32535122
sposad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сам не шибко знающий, но такое делал.

Источником данных для текстбокса выставляешь тот же датасет, ту же таблицу в датасете, из которой происходит заполнение датагрида и то поле таблицы, которое надо. При этом текстбокс и отражает данные текущей записи датагрида.
Про события сейчас нечего не скажу. Просто пока сам не знаю.
...
Рейтинг: 0 / 0
У начинающего есть вопрос по DataGrid.
    #32535523
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Как сделать, чтобы при выборе строки в DataGrid, мышью или клавишами в TextBox появлялись поля выбранной записи?

Используйте DataBindings
Код: plaintext
1.
TextBox.DataBindings.Add("Text", DataSet, "TableName.ColumnName");

>И какое событие DataGrid происходит при переходе на другую запись?

У DataGrid можно использовать CurrentCellChanged

Но лучше использовать PositionChanged у CurrencyManager или RowChanged у DataTable.
...
Рейтинг: 0 / 0
У начинающего есть вопрос по DataGrid.
    #32535640
dencat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я сделал так:

txtCompany.Text = dsCust.Tables("CompanyTbl").Rows(dgForm1.CurrentCell.RowNumber).Item("Компания")
...
Рейтинг: 0 / 0
У начинающего есть вопрос по DataGrid.
    #32535800
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>txtCompany.Text = dsCust.Tables("CompanyTbl").Rows(dgForm1.CurrentCell.RowNumber).Item("Компания")

!!! Смотрите внимательно этот вариант вас может подвести при сортировке, фильтрации DefaultDataView - (тот к которому как раз и привязывается DataGrid), так как Rows индекс не будет совпадать с индексом этого DataView.

И вообще используйте преимущества новой технологии работы с данными. Ведь в DataGrid нет события при переходе на другую запись не потому что злые программисты из MS сделали так специально. На самом деле нам предлагается отличная альтернатива, когда вы абстрагируетесь от различных элементов управления, сегодня у вас используется DataGrid, завтра DataView. Поэтому CurrencyManager вам в помощь.

Вот пример на C#
/topic/93628

Если что переведу его на VB.NET
...
Рейтинг: 0 / 0
У начинающего есть вопрос по DataGrid.
    #32536653
dencat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если можно, переведите:)
...
Рейтинг: 0 / 0
У начинающего есть вопрос по DataGrid.
    #32536743
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Если можно, переведите:)

Пусть у нас в форме есть:
Код: plaintext
1.
private m_crm as System.Windows.Forms.CurrencyManager
Такой код например в load формы:
Код: plaintext
1.
2.
m_crm = Me.BindingContext(Me.dataGrid1.DataSource, Me.dataGrid1.DataMember)
AddHandler m_crm.PositionChanged, AddressOf myTable_PositionChanged ' подпишимся на событие PositionChanged

Наш обработчик события
Код: plaintext
1.
2.
3.
private Sub myTable_PositionChanged(sender as Object, e as System.EventArgs)
   MsgBox("Перешли на другую позицию")
End Sub

Проверить код сейчас не могу, пишите если какие то проблемы или что то непонятно.
...
Рейтинг: 0 / 0
У начинающего есть вопрос по DataGrid.
    #32536944
dencat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо.Сейчас попробую.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / У начинающего есть вопрос по DataGrid.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]