![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать, сколько строк вернул запрос? [D5, IB6.x]
tria © (2003-10-02 10:27:00)
Использую TIBSql. Можно ли узнать, сколько строк вернул запрос? До того, как пройдусь по всем строкам?
MsGuns (2003-10-02 16:40:00) [1]
>tria © (02.10.03 14:06) [27]
Не для того, чтобы что-то тебе доказать - мне это абсолютно не надо, а токмо ради пользы дела - получай "зачатки"
procedure TfrmOut.grOutProdDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
BkgColor: TColor;
begin
if gdSelected in State then OutRect := Rect;
if not (gdSelected in State) then
BkgColor := TDBGrid(Sender).Color
else
if TDBGrid(Sender).Focused then
BkgColor := clActiveCaption // Синий для текущей строки
else
BkgColor := clMedGray; // Серый для текущей строки
TDBGrid(Sender).Canvas.Brush.Color:=BkgColor;
TDBGrid(Sender).DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
В этом примере красится вся строка, но если надо только некоторые ячейки, делай анализ на принадлежность прорисовываемой ячейке этим некоторым..
У класса TColumn есть св-во Field, через которое можно выйти на значение поля
tria (2003-10-02 14:47:00) [2]
>VAleksey
Спасибо за внесенную ясность. Я с тобой согласен. Просто надеялся, что может есть какая-то возможность.
VAleksey (2003-10-02 14:43:00) [3]
Можно я подведу итог?
По сабжу:
Либо отдельный запрос с count, либо FetchAll + RecordCount.
По вопросу в теле сообщения:
Только предварительный count запроса. Иначе никак.
tria (2003-10-02 14:06:00) [4]
>MsGuns А я не умничаю. Я специалист по 1С, а Делфи - больше для души.
>1. Грид с возможностью объединения ячееек.
>Без проблем на обычном гриде с написанием, ессно, кое-какого кода
Не знаю, у меня до сих пор проблемы. Хоть и мелкие. И пусть мне многоуважаемый MsGuns кинет в меня исходником, где бы он реализовал зачатки такого грида. Иначе при всем уважении - "ИМХО, присутствует некоторое умничание". Докажи обратное.
stud> Слышал, но не рассматривал. Но как-то в форуме было обсуждение, в котором было сказано об отсутсвии гридов, в которых одна запись представлялась бы несколькими строками. Но как я уже говорил, могу сильно ошибаться.
Хотя поздно, много чего уже работает, в откате назад не вижу смысла.
stud (2003-10-02 13:22:00) [5]
тебе поможет quantumgrid!))
MsGuns (2003-10-02 13:17:00) [6]
>tria © (02.10.03 12:50) [23]
>Попробую по пунктам некоторые особенности:
>1. Грид с возможностью объединения ячееек.
Без проблем на обычном гриде с написанием, ессно, кое-какого кода
>. Одна запись может соответствовать нескольким строкам грида.
OnDawColumnCll - и что душе угодно, хотб голых девок в ячейках.
>. Корректировка записи происходит не в гриде, а в открывающемся окне.
А причем здесь грид ?
Вообще же, ИМХО, присутствует некоторое умничание, т.е. попытка простое сделать сложным ;)))
Vlad (2003-10-02 12:53:00) [7]
Ну тогда всё круто :)
tria (2003-10-02 12:50:00) [8]
Прошу прощения за отсутствие.
Попробую по пунктам некоторые особенности:
1. Грид с возможностью объединения ячееек.
2. Одна запись может соответствовать нескольким строкам грида. Таких ДБГридов я не встречал. Может вы знаете.
3. Корректировка записи происходит не в гриде, а в открывающемся окне.
Vlad (2003-10-02 12:03:00) [9]
Лично для меня задачка интересна тем, почему такие хитрости - премудрости ? Чем обычная связка DBGrid-DataSource-IBDataSet не устраивает ? Из соображений экономии памяти ? Сомневаюсь...
tria (2003-10-02 12:02:00) [10]
Sergey13>Offtop Блин, да юмор твой понравился. Я бы сам такое написал, если бы додумался. Мы тебя хвалим, а ты обижаешься. Все, хватит об этом.
Sergey13 (2003-10-02 11:58:00) [11]
А че вы так ржете то? Там только правда и ничего кроме правды. 8-)
Я обиделся и ушел. 8-(
tria (2003-10-02 11:58:00) [12]
Sergey13>Offtop Последние данные: увлечение/хобби + интересное о себе. Вызвало улыбку и у соседей по кабинету. Ладно, закрыли эту тему. Лучше скажи, чем же так интересна задача?
Жук (2003-10-02 11:56:00) [13]
> Sergey13 © (02.10.03 11:54) [17]
:-)))
Sergey13 (2003-10-02 11:54:00) [14]
2tria © (02.10.03 11:51) [16]
>Offtop
А че такое? Я даже сам перечитал, чего не делал мимимум год. 8-)
tria (2003-10-02 11:51:00) [15]
Sergey13>Offtop. Классная у тебя анкета... Оценил.
Sergey13 (2003-10-02 11:46:00) [16]
2tria © (02.10.03 11:39) [14]
>Все очень просто: использую не TDbGrid, а потомок от TDrawgrid для простого отображения данных.
Считал строку запроса, добавил в грид строку,перенес значения.
Задача становится все более интересной. 8-)
tria (2003-10-02 11:39:00) [17]
Все очень просто: использую не TDbGrid, а потомок от TDrawgrid для простого отображения данных.
Считал строку запроса, добавил в грид строку,перенес значения.
Johnmen (2003-10-02 11:35:00) [18]
>tria © (02.10.03 11:18)
Не верю :) Не верю, что ты смог отобразить в "обычном гриде" НД, полученный с пом. TIBSQL ! Он же однонаправленный !
tria (2003-10-02 11:33:00) [19]
Дело в том, что транзакция чтения у меня не SnapShot, а "read_committed","rec_version","nowait"
Делать ее SnapShot - лишняя нагрузка на сервер.
И опять же, для запроса, вернувшего 5 строк, выгоднее работать одним запросом. Для случая 500 - наверное вторым. А у меня есть и такие, и такие. И заранее знать сколько приблизительно строк вернет запрос я не могу.
Все равно большое спасибо за обсуждение.
Vlad (2003-10-02 11:29:00) [20]
Ну да, чем не вариант ?