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

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

Заранее благодарен за полезную информацию.
...
Рейтинг: 0 / 0
31.03.2004, 11:05
    #32463419
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение строки в DataGrid
Код: plaintext
1.
2.
    Dim cell As DataGridCell = Me.dataGrid1.CurrentCell
    DataGrid1.Select(cell.RowNumber)
...
Рейтинг: 0 / 0
01.04.2004, 09:26
    #32464884
Турист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение строки в DataGrid
По указанному вами способу, при нажатии на клавиши(вверх, вниз), выделяется вся строка, но присутствует один не очень красивый эффект: одно из полей строки выделяется для редактирования. Я сделал DataGrid readonly - это поле стало нередактируемым, но выделение его для редактирования осталось. Подскажите, пожалуйста, как можно убрать этот эффект?
...
Рейтинг: 0 / 0
01.04.2004, 12:04
    #32465223
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение строки в DataGrid
>Я сделал 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
01.04.2004, 12:41
    #32465319
Турист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение строки в DataGrid
Большое спасибо за информацию
...
Рейтинг: 0 / 0
01.04.2004, 14:46
    #32465646
Турист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение строки в DataGrid
Всё здорово работает! При клике на любое из полей грида, выделяется вся строка. Отлично! Спасибо большое за информаию! Но есть по этой теме ещё один вопросик: при клике на boolean-поле грида, выделяется не вся строка, а только это поле. Можно этого как-нибудь избежать?
...
Рейтинг: 0 / 0
01.04.2004, 15:27
    #32465752
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение строки в DataGrid
Точно также только теперь наследуемсяя от DataGridBoolColumn

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


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