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

Вниз

DBGrid   Найти похожие ветки 

 
VIB   (2005-12-07 12:44) [0]

Как мне получить значение ячейки сабжа, если у меня есть
индекс колонки и столбца


 
Плохиш ©   (2005-12-07 13:19) [1]


> VIB   (07.12.05 12:44)

1. сабж не имеет значений
2. у сабжа свойства "колонка" и "столбец" скрыты от начинающих, поэтому откуда ты их взял совершенно не понятно


 
msguns ©   (2005-12-07 13:29) [2]

В обработчике

procedure TForm1.DBGridDrawColumnCell(Sender: TObject;
 const Rect: TRect; DataCol: Integer; Column: TColumn;
 State: TGridDrawState);
begin
 // Координаты текущей ячейки записать в переменную
 if gdSelected in State then <Переменная типа TRect> := Rect;
end;


 
Плохиш ©   (2005-12-07 13:57) [3]


> msguns ©   (07.12.05 13:29) [2]

Индекс и координаты, ИМХО, разные вещи.


 
VIB   (2005-12-07 13:59) [4]

Конкретезирую вопрос.
У меня есть DBGrid.
Как мне из него получить значение 2-й колонки 6-го столбца


 
Плохиш ©   (2005-12-07 14:01) [5]


> VIB   (07.12.05 13:59) [4]
> Конкретезирую вопрос.

У DBGrid нет такого понятия как "2-й колонки 6-го столбца", а про значение я уже говорил


 
Sergey13 ©   (2005-12-07 14:01) [6]

2[4] VIB   (07.12.05 13:59)
Зачем тебе это?


 
VIB   (2005-12-07 14:05) [7]

Когда на сервере большая таблица данных.
Я хочу считывать с сервера данные по кускам (например по 100 штук).
И мне надо знать значение поля ID которое находится во второй строке грида


 
Sergey13 ©   (2005-12-07 14:59) [8]

2[7] VIB   (07.12.05 14:05)
У тебя неправильный подход. Разберись сначала с нужностью видеть в гриде всю "большую таблицу данных".
ИМХО.


 
VIB   (2005-12-07 15:15) [9]

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

Если значение поля ID второй строки =10 и мы к конце DataSet и нажата клавиши вниз, то пишем запрос

Select top 100 * from table_name where id>=10

Аналогично с прокруткой вверх


 
Sergey13 ©   (2005-12-07 15:28) [10]

2[9] VIB   (07.12.05 15:15)
А если сделать секцию Where более насыщеной (и осмысленной!) и вернуть на клиента только то, что действительно надо?


 
VIB   (2005-12-07 15:39) [11]

Как в таком случае организовать скролинг грида вверх и вниз по всей таблице.

Если мне надо выбрать данные между датами 01.01.2005 и 01.12.2005 а их там 3000000.


 
Sergey13 ©   (2005-12-07 15:46) [12]

2[11] VIB   (07.12.05 15:39)
>Если мне надо выбрать данные между датами 01.01.2005 и 01.12.2005 а их там 3000000.
И в грид? Наверное их кто-то смотреть будет? Наверное все 3000000 сразу? И все запомнит и проанализирует в уме?


 
alex_*** ©   (2005-12-07 17:22) [13]

скроллинг по таблице организуется с помощью Next(), Prior()


 
VIB   (2005-12-07 17:39) [14]

Я вижу меня не понимают уважаемые мастера.
Еще раз попробую объяснить ситуацию которую хочу сделать.
Например я считываю 50 первых позиций из таблицы.
Грид показывает мне их. Я начинаю двигатся по таблице например вниз.
Когда доходжу до последней записи мне надо подчитать следующих 50 записей но я должен также и вывысти записи которые в данный момент видно на экране. Значение поля последней активной позиции у меня есть.
Поэтому мне надо знать значение поля второй строки сетки, чтобы от него запросить еще 50 записей и.т.д.


 
stone ©   (2005-12-07 17:44) [15]


> Значение поля последней активной позиции у меня есть.
> Поэтому мне надо знать значение поля второй строки сетки,
>  чтобы от него запросить еще 50 записей и.т.д.

А если набор данных отсортирован не по ID, как ты в этом случае собираешься строить запрос?


 
Плохиш ©   (2005-12-07 17:45) [16]


> VIB   (07.12.05 17:39) [14]
> Например я считываю 50 первых позиций из таблицы.
> Грид показывает мне их. Я начинаю двигатся по таблице например
> вниз

Используя кнопки PgDn/PgUp, перетаскиванием ползунка в вертикальном ScrollBar.


 
msguns ©   (2005-12-07 17:53) [17]

>VIB   (07.12.05 17:39) [14]

То, что ты описал, и делает TDataSource вместе с нисходящими TDataSet. Если все это работает медленно из-за большого кол-ва записей, то либо принципиально неверно построена концепция интерфейса с БД (например, тянутся все документо-строки всех документов БД вместо того, чтобы извлекать только заголовки документов за определенный период и все строки только по одному документу), либо надо отказаться от стандартных методов доступа, заменив их более мобильными своими. Например, перейти на трехзвенку и ограничивать "порции" на апп-сервере.


 
ЮЮ ©   (2005-12-08 03:33) [18]

У DBGrid-а есть DataLink, который обеспечивает доступ ко всем записям, отображенных в гриде. Посмотри его использование в исходниках TDBGrid.DrawCell



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

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

Наверх




Память: 0.51 MB
Время: 0.059 c
2-1134011223
HF-Trade
2005-12-08 06:07
2005.12.25
Сортировка по алфавиту Popupmenu


2-1134231266
vasek
2005-12-10 19:14
2005.12.25
Создал базу данных в IBExpert. В базе данных 3-и таблицы:


14-1133330550
Ega23
2005-11-30 09:02
2005.12.25
С днем рождения! 30 ноября


2-1134125888
kvorubin
2005-12-09 13:58
2005.12.25
Мужики, как сравнить 2 списка со словами???


14-1133376530
Fay
2005-11-30 21:48
2005.12.25
Прикольная прога для просмотра PDF. Сегодня нашёл.