Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.11.01;
Скачать: CL | DM;

Вниз

Нарушение полосатости грида при SQL-запросах   Найти похожие ветки 

 
kyn66 ©   (2009-09-04 15:33) [40]


> на самом деле это ситуации не меняет

НУ почему? Не буду сильно настаивать, но мне кажется, когда мы в чистый TTable перегоняем заранее отсортированные квериком данные и не применять к нему ничего (фильтр, сортировка), просто вывести в гриде и все. И RecNo будет в поряде. Для промежуточных отображений я к примеру часто использую TrxMemoryData.


 
Сергей М. ©   (2009-09-04 15:48) [41]

СУБД-то какая ?
К 40-му посту можно было бы сподобиться и открыть наконец тайну)


 
Anatoly Podgoretsky ©   (2009-09-04 15:58) [42]


> когда мы в чистый TTable перегоняем заранее отсортированные
> квериком данные и не применять к нему ничего (фильтр, сортировка),
>  просто вывести в гриде и все. И RecNo будет в поряде.

Никогда не будет в порядке. Особенно с абстрактным форматом.


 
kyn66 ©   (2009-09-04 16:05) [43]


> СУБД-то какая ?


Так в [1] было описано про TADSQuery, сопсна ADS.


> Никогда не будет в порядке.

Что-ж так категорично?  Ведь при формировании нового набора и записи с нуля начинают формироваться.


 
Anatoly Podgoretsky ©   (2009-09-04 16:28) [44]

> kyn66  (04.09.2009 16:05:43)  [43]

Не надо про частный случай, специально подогнаный, я же про полноценную работу, с локальной сортировкой, с фильтрацией, с обработчиком OnFilterRecord, с физическими и логическими номера, с использованием как запросов, так и с навигационными методами работы, и прочим.
Один лишь OnFilterRecord сводит на нет все потуги.


 
kyn66 ©   (2009-09-04 16:41) [45]

2Anatoly Podgoretsky

Уважаемый коллега, не в обиду будет сказано, но вы постоянно пытаетесь меня запутать своими высокоматерчатыми выражениями. Мне кажется мы перелопачиваем по несколькеу раз одну и ту-же проблему, а варианта ее решения вы так и не предлагаете.


 
Anatoly Podgoretsky ©   (2009-09-04 16:50) [46]

> kyn66  (04.09.2009 16:41:45)  [45]

Нельзя найти кошку в темной комнате, если ее там нет.


 
Юрий Зотов ©   (2009-09-05 13:32) [47]

Не понимаю, в чем проблема?


procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
 DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
 if ([gdSelected, gdFixed] * State = [])
    and Odd(DBGrid1.MouseCoord(Rect.Left, Rect.Top).Y) then
   with DBGrid1, Canvas do
   begin
     Brush.Color := clYellow;
     FillRect(Rect);
     DefaultDrawDataCell(Rect, Column.Field, State);
   end
end;


 
Юрий Зотов ©   (2009-09-05 17:48) [48]

И даже FillRect можно убрать. Само закрасится.


 
СовестьДМ ©   (2009-09-05 18:28) [49]

Удалено модератором


 
KilkennyCat ©   (2009-09-05 19:38) [50]

которые уже и не FAQ, а сверхFAQ


 
MsGuns ©   (2009-09-06 00:32) [51]

>Юрий Зотов ©   (05.09.09 13:32) [47]
>Не понимаю, в чем проблема?

Насколько я понял, автору нужно, чтобы каждая запись датасета имела что-то вроде св-ва "чет-нечет", в соответствии с которым ее нужно отображать в сетке "своим" цветом. Т.е. запись с №=17 ВСЕГДА была окрашена как "нечет" вне зависимости в какой (четной или нечетной) строке сетки она отображалась. Что при этом будет с "полосатостью" в случае, если НД будет переупорядочен на клиенте или, как несколько раз повторил АП, отфильтрован, очевидно для всех, кроме автора.

Вообще не понимаю откуда возникла подобная трабла.


 
KilkennyCat ©   (2009-09-06 02:50) [52]

О, я придумал! пусть будет так, как делает автор, но не чет-нечет, а в порядке радуги. Тогда, после отображения с каким-либо условием, мы получим дополнительную яркую цветовую информацию этого условия.


 
Германн ©   (2009-09-06 03:12) [53]


> KilkennyCat ©   (06.09.09 02:50) [52]
>
> О, я придумал!

Дай код!
:)


 
Медвежонок Пятачок ©   (2009-09-07 13:45) [54]

Насколько я понял, автору нужно, чтобы каждая запись датасета имела что-то вроде св-ва "чет-нечет", в соответствии с которым ее нужно отображать в сетке "своим" цветом.

Неа. Удаляем "эту" запись, а ее соседи остаются четными/нечетными.
Получаем две соседние записи одного цвета.
Полосатость пропадает.


 
MsGuns ©   (2009-09-07 15:54) [55]

>Медвежонок Пятачок ©   (07.09.09 13:45) [54]

Речь не шла об удалении вообще-то. А по поводу перемешивания или пропадания записей из сетки в том же посте имеется второе предложение. Его не читаем ?


 
Медвежонок Пятачок ©   (2009-09-07 16:01) [56]

все читаем.
требование к записи датасета быть всегда четной или нечетной - это лишнее.
грид сам по себе имеет строго определенное число строк.
и у них нет таких заморочек с порядком следования как у записей датасета.


 
kyn66 ©   (2009-09-07 16:34) [57]


> Неа. Удаляем "эту" запись, а ее соседи остаются четными/нечетными.
> Получаем две соседние записи одного цвета.Полосатость пропадает.
>

Совершенно верно


> Речь не шла об удалении вообще-то. А по поводу перемешивания
> или пропадания записей

За счет удаления происходят те-же нарушения.


 
kyn66 ©   (2009-09-07 16:39) [58]

Все заморочки по поводу четности-нечетности имеют место быть, если использовался метод Background := BackColors[(Sender as TDBGridEh).DataSource.DataSet.RecNo mod 2 <> 0]; Но с этим решено было покончить, т.к. у датасета имеется своя способность разукрашивать фон в полосатый. Вот здесь и пытаюсь понять почему он не срабатывает. Что на это влияет.?

> Насколько я понял, автору нужно, чтобы каждая запись датасета
> имела что-то вроде св-ва "чет-нечет",

Совершенно не нужно. Нужно чтобы компонент отрабатывал то, что в нем предписано


 
MsGuns ©   (2009-09-08 18:07) [59]

>kyn66 ©   (07.09.09 16:39) [58]
>> Насколько я понял, автору нужно, чтобы каждая запись датасета
>> имела что-то вроде св-ва "чет-нечет",
>Совершенно не нужно. Нужно чтобы компонент отрабатывал то, что в нем >предписано

Тогда извольтк изъясняться внятно и понятно, что же Вам требуется. При этом некисло было бы узнать о том, что Вы понимаете под таинственной фразой "Нужно чтобы компонент отрабатывал то, что в нем предписано"


 
Плохиш ©   (2009-09-08 20:10) [60]


> т.к. у датасета имеется своя способность разукрашивать фон
> в полосатый.

Это какая же?


 
kyn66 ©   (2009-09-09 10:59) [61]


> Тогда извольтк изъясняться внятно и понятно, что же Вам
> требуется.


[5]


 
kyn66 ©   (2009-09-09 11:04) [62]


> "Нужно чтобы компонент отрабатывал то, что в нем предписано"


[20]



Страницы: 1 2 вся ветка

Текущий архив: 2009.11.01;
Скачать: CL | DM;

Наверх




Память: 0.59 MB
Время: 0.022 c
9-1181663686
XFACTOR
2007-06-12 19:54
2009.11.01
Звуковой движок


2-1251884776
kyn66
2009-09-02 13:46
2009.11.01
Нарушение полосатости грида при SQL-запросах


2-1252191677
tela
2009-09-06 03:01
2009.11.01
проблемы фильтрации в tado table


1-1222137558
Vitaliy_____
2008-09-23 06:39
2009.11.01
Установка приоритета процесса


3-1228933006
alex810
2008-12-10 21:16
2009.11.01
Oracle и интернет