Конференция "Базы" » Полосатый TDBGridEh [D7, ADS]
 
  • имя (21.05.09 18:53) [20]
    Удалено модератором
  • kyn66 © (22.05.09 11:04) [21]
    Да, да, именно после применения IndexField начинаются непонятки.
  • kyn66 © (22.05.09 11:49) [22]
    Вот явное нарушение полосатости посли Индексации http://yurec66.narod.ru/Hlam/grid1.jpg. По началу я думал что это происходит из-за нарушения порядка следования ID. Здесь видно, что номера 33 и 39(специально в грид добавлен для отображения столбец ID) (оба нечетные) стоят рядом, поэтому и идет нарушение. http://yurec66.narod.ru/Hlam/grid2.jpg . Однако, тут-же видно, что номера 29 и 30 тоже стоят рядом, хоть и разные по четности. Тем более задействован стандартный механизм Sequenced и использован компонент TAdsTable. Т.ч. уже и не ясно на что грешить и как это побороть.
  • kyn66 © (22.05.09 11:56) [23]
    Пардон, очепятка номера 33 и 69
  • Виталий Панасенко (22.05.09 11:58) [24]
    Когда применяется IndexField, то RecNo действительно будет фиг знает какой.. И никуда от этого не убежишь.. разве что в select from order by
  • Ega23 © (22.05.09 12:04) [25]

    > Т.ч. уже и не ясно на что грешить и как это побороть.


    OnGetColumncellData или что-то в таком духе. И сам рисуешь. Делов-то.
  • Виталий Панасенко (22.05.09 12:19) [26]

    > Здесь видно, что номера 33 и 39(специально в грид добавлен
    > для отображения столбец ID) (оба нечетные) стоят рядом,
    > поэтому и идет нарушение. http://yurec66.narod.ru/Hlam/grid2.
    > jpg . Однако, тут-же видно, что номера 29 и 30 тоже стоят
    > рядом, хоть и разные по четности. Тем более задействован
    > стандартный механизм Sequenced и использован компонент TAdsTable.
    >  Т.ч. уже и не ясно на что грешить и как это побороть.

    29  и 30 просто повезло: у них ключевая информация идет подряд и нету записи с данными, ключ которой больше ключа 29, но меньше 30. неужели так тяжело понять? у вас записи идут типа так
    № записи Значение
    1                0
    2                1
    3                -1
    4                2
    если упорядочить по значению, что получим?
    № записи Значение
    3               -1
    1                0
    2                1
    4                2
    вот и все
  • Виталий Панасенко (22.05.09 12:22) [27]
    при использовании кверика с упорядочением проблема исчезнет сама по себе. если, конечно, не использовать сортировку кеша кверика
  • kyn66 © (22.05.09 17:16) [28]
    К кверику нельзя в данном случае применить сортровку, физическое поле отсутствует, точнее поле Name, по которому хотелось-бы сделать сортировку выводится как лукаповское поле. ПОэтому пришлось идти на ухищрения с собственной обработкой

    procedure TTovarFrm.DBGridEh1GetCellParams(Sender: TObject;
     Column: TColumnEh; AFont: TFont; var Background: TColor;
     State: TGridDrawState);
    begin
     Background := BackColors[(Sender as TDBGridEh).DataSource.DataSet.RecNo mod 2 <> 0];
    end;



    или попытаться довериться обработке Delphi через Sequenced
 
Конференция "Базы" » Полосатый TDBGridEh [D7, ADS]
Есть новые Нет новых   [134473   +31][b:0][p:0.001]