Конференция "Начинающим" » Проблема с определением номера колонки Grid при FixedCols := 1 [D7]
 
  • Konstantin-78 © (15.03.17 22:18) [0]
    Есть компонент TbvDBGrid, при нажатии на определенном столбце привязанном у полю «SIGN» (второй столбец, у которого SelectedIndex = 1), у меня должно происходить определенное действие.

    procedure TFRate.bvdbgrRateDblClick(Sender: TObject);
    begin
     if bvdbgrRate.Columns[bvdbgrRate.SelectedIndex].FieldName = 'SIGN' then
     begin
       FMain.ibdsPair.Edit;
       if FMain.ibdsPair.FieldByName('SIGN').AsInteger = 0 then
         FMain.ibdsPair.FieldByName('SIGN').AsInteger := 1
       else
         FMain.ibdsPair.FieldByName('SIGN').AsInteger := 0;
       FMain.ibdsPair.Post;
       FMain.ibtrMain.CommitRetaining;
     End



    Проблема появилась тогда, когда сделал 1 фиксированный столбец в bvDBGrid (FixedCols := 1).

    Дело в том что при нажатии мышкой на этом фиксированном столбце (самом левом в таблице) - SelectedIndex равно не «0» (соответственно этот столбец привязан НЕ к полю "SIGN"), а «1». В результате идет выполнение кода.

    Как мне избежать подобной неприятности?
  • Германн © (16.03.17 02:26) [1]

    > Как мне избежать подобной неприятности?

    Наверно надо изучить этот нестандартный компонент TbvDBGrid. Или отказаться от его использования.
  • Плохиш © (16.03.17 14:02) [2]

    > Дело в том что при нажатии мышкой на этом фиксированном
    > столбце (самом левом в таблице) - SelectedIndex равно не
    > «0»

    Фиксированные столбцы не выделяются.
    Используй Sender.
  • Konstantin-78 © (16.03.17 19:18) [3]
    обошелся методом "MouseCoord"
 
Конференция "Начинающим" » Проблема с определением номера колонки Grid при FixedCols := 1 [D7]
Есть новые Нет новых   [118580   +29][b:0][p:0.001]