Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Выделение одной строки в TDBGrid без редактирования / 7 сообщений из 7, страница 1 из 1
02.09.2012, 22:06
    #37940606
GermanU
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение одной строки в TDBGrid без редактирования
Возможно ли в VB6 используя TDBGrid 7.0 сделать поведение грида аналогичным поведению грида TDBGrid в Delphi, а именно.
Нужно при клике на строке в любой ячейке, либо попадании на строку с использованием клавиатурной навигации, выделить полностью эту строку подсветив ее каким либо цветом. Т.е. чтобы выделение было так-же как и при клике по заголовку строки.
При этом редактирование должно быть запрещено, так же как и выделение нескольких строк. Примерное поведение грида получается если установить свойство MultiSelect в 2-Extended, но при этом появляется возможность выделения нескольких строк, что как раз и не нужно. Пример с таким выделением - Tutorial №27. В принципе, может просто каким то образом при таком режиме возможно запретить выделение несколькох строк другими методами?
...
Рейтинг: 0 / 0
04.09.2012, 09:38
    #37942319
TpaBka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение одной строки в TDBGrid без редактирования
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
Private Sub TDBGrid1_FetchRowStyle(ByVal Split As Integer, Bookmark As Variant, ByVal RowStyle As TrueOleDBGrid80.StyleDisp)
On Error Resume Next
    If TDBGrid1.SelBookmarks.Count >= 2 Then
    TDBGrid1.SelBookmarks.Clear
    TDBGrid1.SelBookmarks.Add TDBGrid1.Bookmark
    Else
    TDBGrid1.SelBookmarks.Add TDBGrid1.Bookmark
    End If
End Sub


з.ы. в настройках грида у сплита FetchRowStyle=true
...
Рейтинг: 0 / 0
04.09.2012, 11:13
    #37942486
GermanU
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение одной строки в TDBGrid без редактирования
Спасибо, самое интересное, что я это событие - FetchRowStyle постоянно использую для подсветки строк разными цветами, но почему-то для ограничения количества выбранных строк использовать не додумался :)

Судя по коду:TrueOleDBGrid80.StyleDisp Вами используется 8 версия грида. 8 Версию я так понимаю нужно покупать, а есть ли смысл это делать, что там есть такого, по сравнению с 7, за что стоило бы заплатить?
...
Рейтинг: 0 / 0
04.09.2012, 12:47
    #37942683
TpaBka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение одной строки в TDBGrid без редактирования
GermanUСпасибо, самое интересное, что я это событие - FetchRowStyle постоянно использую для подсветки строк разными цветами, но почему-то для ограничения количества выбранных строк использовать не додумался :)

Судя по коду:TrueOleDBGrid80.StyleDisp Вами используется 8 версия грида. 8 Версию я так понимаю нужно покупать, а есть ли смысл это делать, что там есть такого, по сравнению с 7, за что стоило бы заплатить?
Долго искал в инете, но все-таки нашел целый набор: ComponentOne Studio for ActiveX (2008)
+ работающий кряк без вирусов
Там где-то около 15 прикольных активиксов начиная от TDBMask и заканчивая
VSReport Designer (консруктор отчетов в формате XML c источником данных рекордсета)
Самый крутой осх в студии как по мне так это VSFlexGrid
Кардинальных отличий между 7 и 8 гридом нету.
...
Рейтинг: 0 / 0
05.09.2012, 07:59
    #37943773
GermanU
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение одной строки в TDBGrid без редактирования
В справке к гриду в частности указано
авторcolumn.Width = single

Read/Write at run time and design time.
Property applies to Column object.

Судя по написанному свойство, позволяющее установить ширину столбца должно быть доступно как рантайме так и во время разработки, но во время разработки я как ни пытался это свойство отыскать и установить, так и не нашел. В рантайме все понятно, а вот можно ли в режиме разработки выставить нужные ширины столбцов?
...
Рейтинг: 0 / 0
05.09.2012, 15:59
    #37944986
TpaBka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение одной строки в TDBGrid без редактирования
GermanUВ справке к гриду в частности указано
авторcolumn.Width = single

Read/Write at run time and design time.
Property applies to Column object.

Судя по написанному свойство, позволяющее установить ширину столбца должно быть доступно как рантайме так и во время разработки, но во время разработки я как ни пытался это свойство отыскать и установить, так и не нашел. В рантайме все понятно, а вот можно ли в режиме разработки выставить нужные ширины столбцов?
Клик по гриду правой кнопкой->Properties->(вкладка)Splits-> Splits(00) ->Columns->Columns(00)->Width
...
Рейтинг: 0 / 0
15.09.2012, 23:07
    #37959020
GermanU
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение одной строки в TDBGrid без редактирования
TpaBkaКлик по гриду правой кнопкой->Properties->(вкладка)Splits-> Splits(00) ->Columns->Columns(00)->Width
Спасибо, почему-то сам я до этих настроек не добрался. Думал они дублируют настройки столбцов на соответствующей вкладке :)
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Выделение одной строки в TDBGrid без редактирования / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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