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

Чтобы выделить всю строку в DataGrid-е нужно кликнуть слева от неё. А как сделать так, чтобы при нажатии на клавиши (вверх, вниз), активная строка полностью выделялась?

Заранее благодарен за полезную информацию.
...
Рейтинг: 0 / 0
Выделение строки в DataGrid
    #32463419
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
    Dim cell As DataGridCell = Me.dataGrid1.CurrentCell
    DataGrid1.Select(cell.RowNumber)
...
Рейтинг: 0 / 0
Выделение строки в DataGrid
    #32464884
Турист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По указанному вами способу, при нажатии на клавиши(вверх, вниз), выделяется вся строка, но присутствует один не очень красивый эффект: одно из полей строки выделяется для редактирования. Я сделал DataGrid readonly - это поле стало нередактируемым, но выделение его для редактирования осталось. Подскажите, пожалуйста, как можно убрать этот эффект?
...
Рейтинг: 0 / 0
Выделение строки в DataGrid
    #32465223
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Я сделал DataGrid readonly - это поле стало нередактируемым, но выделение его для редактирования осталось. Подскажите, пожалуйста, как можно убрать этот эффект?

Здесь малой кровью не обойтись, придется делать свой класс от DataGridTextBoxColumn в котором переопределять Edit.
И теперь при создании tableStyle использовать этот класс вместо DataGridTextBoxColumn.

Код класса:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Public Class MyDataGridTextBoxColumn
	Inherits DataGridTextBoxColumn
	Private SelectedRow As Integer
	Public Sub New()
	End Sub
	Protected Overloads Overrides Sub Edit(ByVal source As CurrencyManager, ByVal rowNum As Integer, ByVal bounds As Rectangle, ByVal [readOnly] As Boolean, ByVal instantText As String, ByVal cellIsVisible As Boolean)
		If (SelectedRow > - 1 ) And (SelectedRow < source.List.Count +  1 ) Then
			Me.DataGridTableStyle.DataGrid.UnSelect(SelectedRow)
		End If
		SelectedRow = rowNum
		Me.DataGridTableStyle.DataGrid.Select(SelectedRow)
	End Sub
End Class


Код класса придумал не я.
ИМХО когда приходится очень многое накручивать (это еще не много с DataGridом бывает намного хлеще) следует обратить внимания на стороние компоненты, где уже изначально определено ТРЕБУЕМОЕ поведения грида например всего лишь через установку свойства SelectFullRow = True.
Потому что и этот способ не идеальный, но "некрасивый эффект" он убирает.
...
Рейтинг: 0 / 0
Выделение строки в DataGrid
    #32465319
Турист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо за информацию
...
Рейтинг: 0 / 0
Выделение строки в DataGrid
    #32465646
Турист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё здорово работает! При клике на любое из полей грида, выделяется вся строка. Отлично! Спасибо большое за информаию! Но есть по этой теме ещё один вопросик: при клике на boolean-поле грида, выделяется не вся строка, а только это поле. Можно этого как-нибудь избежать?
...
Рейтинг: 0 / 0
Выделение строки в DataGrid
    #32465752
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Точно также только теперь наследуемсяя от DataGridBoolColumn

Код: plaintext
1.
2.
3.
Public Class MyDataGridBoolColumn
  Inherits DataGridBollColumn
....
...
Рейтинг: 0 / 0
Выделение строки в DataGrid
    #32465967
Турист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понял. Спасибо.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Выделение строки в DataGrid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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