Re[4]: DataGrid FAQ
От: SiAVoL Россия  
Дата: 12.05.05 05:03
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>а есть возможность научить грид обрабатывать doubleclick на данных в нём как на самом гриде?

можно поподробнее, какое поведение необходимо получить?
... << RSDN@Home 1.1.4 beta 7 rev. 448>>
Re[5]: DataGrid FAQ
От: Dr.Gigabit  
Дата: 12.05.05 14:14
Оценка:
Здравствуйте, Peter Fleischer, Вы писали:

PF>SCS wrote:

PF>...
>> PF>для одной строки надо менять Heigth для в соответсвующем объекте
>> из "dataGridRows". если можно, как добраться до этого этого объекта.
PF>...

PF>
PF>  Private Sub SetRowHeight(ByVal dgrid As DataGrid, ByVal row As Integer, ByVal height As Integer)
PF>    Dim dataGridType As Type = dgrid.GetType()
PF>    Dim objDataGridRows As Object = dataGridType.InvokeMember("dataGridRows", _
PF>        Reflection.BindingFlags.Instance Or Reflection.BindingFlags.GetField Or _
PF>        Reflection.BindingFlags.NonPublic, Nothing, dgrid, New Object() {})
PF>    Dim dataGridRows As Array = CType(objDataGridRows, Array)
PF>    Dim objdataGridRow As Object = dataGridRows.GetValue(row)
PF>    Dim dataGridRowType As Type = dataGridType.Assembly.GetType("System.Windows.Forms.DataGridRow")
PF>    dataGridRowType.InvokeMember("Height", Reflection.BindingFlags.Instance Or _
PF>        Reflection.BindingFlags.SetProperty Or Reflection.BindingFlags.Public, Nothing, _
PF>        objdataGridRow, New Object() {height})
PF>  End Sub
PF>


В выделенной строке есть небольшая особенность: такой способ не работает для кастомных классов, унаследованных от DataGrid (во всяком случае, у меня не работал ) Лучше его заменить просто на: Dim dataGridType As Type = DataGrid.GetType()
Minsk .NET Alliance http://minsk.gotdotnet.ru
Re[5]: DataGrid FAQ
От: Аноним  
Дата: 14.05.05 22:18
Оценка:
Здравствуйте, SiAVoL, Вы писали:

SAV>Здравствуйте, <Аноним>, Вы писали:


А>>а есть возможность научить грид обрабатывать doubleclick на данных в нём как на самом гриде?

SAV>можно поподробнее, какое поведение необходимо получить?
собитые doubleclick приходит только если щелчок был вне области данных.
(например на границе ячеек).
если же кликнуть на самой ячейке — событие не доходит.
Re[6]: DataGrid FAQ
От: SiAVoL Россия  
Дата: 16.05.05 07:21
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>собитые doubleclick приходит только если щелчок был вне области данных.

А>(например на границе ячеек).
А>если же кликнуть на самой ячейке — событие не доходит.
Все правильно, в статье объясняется, что в процессе редактирования в ячейке на самом деле создается некий контрол. Например в случае стиля колонки System.Windows.Forms.DataGridTextBoxColumn, создается соответственно System.Windows.Forms.TextBox. Поэтому и сообщения ловит он. Подписаться на его сообщения очень легко:
        dataGridTextBoxColumn1.TextBox.DoubleClick += new EventHandler(TextBox_DoubleClick);

    // пропущено
    
        private void TextBox_DoubleClick(object sender, EventArgs e)
        {
            MessageBox.Show("qwe");
        }
... << RSDN@Home 1.1.4 beta 7 rev. 448>>
Re: DataGrid - Раскраска ячеек в зависимости от значения - б
От: WildWildWind Украина http://www.chantingwolf.narod.ru/
Дата: 25.06.05 17:57
Оценка:
Выделяю строки грида по определённому критерию
http://www.rsdn.ru/article/dotnet/datagridfaq.xml#ENA
Автор(ы): SiAVoL, Beker
Дата: 31.10.2004
Рассматриваются вопросы, наиболее часто возникающие при использовании класса System.Windows.Forms.DataGrid из .NET Framework Class Library.




Но — если я выделяю всю сторку где програмно менял фон — фон сторчки не изменится
Зато поменяется цвет текста

И текст становится плохо заиетен
http://www.system32.narod.ru/Doc1.doc


Как с этим бороться?
Страх ляка, а ти не бiйся!
Re: DataGrid FAQ
От: lozzy  
Дата: 25.06.05 18:40
Оценка: 3 (1)
Здравствуйте, SiAVoL, Beker, Вы писали:

http://www.datagridgirl.com/

Аннотация:
Рассматриваются вопросы, наиболее часто возникающие при использовании класса System.Windows.Forms.DataGrid из .NET Framework Class Library.
Re: DataGrid FAQ
От: Aibyss  
Дата: 26.07.05 07:32
Оценка:
Всем привет. Вопрос такой:
Создал стиль DataGridComboBoxColumn как описано в статье. Хотел, чтобы при нажатии на стрелочки вверк/вниз можно было перемещаться по вариантам в комбобоксе, а не переходить в другую ячейку грида. Но события KeyDown/KeyUp/KeyPress в случае нажатия на стрелочки для комбобокса просто не вызываются.
Как можно их перехватить?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.