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

Вниз

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

 
Rezya   (2006-06-13 09:34) [0]

Подскажите пожалуйста. Стоит задача. При сортировке в DBGride необходимо цветом выделять отдельные ячейки в столбцах. Как это возможно сделать?


 
MBo ©   (2006-06-13 09:52) [1]

используй событие OnDrawColumnCell


 
rezya   (2006-06-13 09:54) [2]

Эээ.... А по подробнее.


 
MBo ©   (2006-06-13 10:10) [3]

http://www.delphikingdom.ru/asp/section.asp?id=16
несколько статей


 
rezya   (2006-06-13 15:23) [4]

Ок. Отлично. Спасибо. А еще вопрос.
Как програмно выделить ячейку?


 
novill ©   (2006-06-13 15:51) [5]

DBGridEh.SetFocus;
DBGridEh.SelectedIndex:=<число>;


 
rezya   (2006-06-15 14:21) [6]

Спасибо.
Подскажите ещё... Как Изминить ширину первого столбца? А то при стандартной выгрузке из базы (через DataSourse) у меня показывается только первый столбец, а все остальные доступны только при горизонтальном скролинге.


 
rezya   (2006-06-15 14:22) [7]

И ещё вопросик. Как в цикле (к примеру FOR)  переписать данные из определенного стобца в массив?

ЗАРАНЕЕ БЛАГОДАРЕН


 
Sergey13 ©   (2006-06-15 14:38) [8]

> [7] rezya   (15.06.06 14:22)
> Как в цикле (к примеру FOR)  переписать
> данные из определенного стобца в массив?

Тогда уж не FOR, а WHILE и не по гриду, а по датасету. Только зачем, если не секрет?


 
rezya   (2006-06-15 14:52) [9]

Необходимо прогрузить в ComboBox встречающиеся в определенном столбце значания для последующего выделения их цветом.
Т.е. В одном ComboBox я выбираю необходимы столбец а вовтором ComboBox я выбираю значения которы встречаються в этом столбце а потом для наглядности их выделяю цветом.


 
Sergey13 ©   (2006-06-15 15:00) [10]

2 [9] rezya   (15.06.06 14:52)
Не очень я въехал в твое объяснение. Ну да ладно - тебе виднее.


 
rezya   (2006-06-15 15:03) [11]

Ну ды подскажи тогда на примере, если тебе не сложно...
Как это программно сделать?


 
Sergey13 ©   (2006-06-15 15:04) [12]

Кстати легко получить уникальные значения поля можно запросом
select distinct Field_name from table_name


 
Sergey13 ©   (2006-06-15 15:05) [13]

> [11] rezya   (15.06.06 15:03)
> Ну ды подскажи тогда на примере, если тебе не сложно...
> Как это программно сделать?

Если бы я знал чего ты хочешь, тогда может и подсказал бы. А так...


 
rezya   (2006-06-15 15:06) [14]

Ды не хочеться через SQL делать. Это слишко много запросов в базу. Могут админы по голове дать. Я просто хочу сделать один запрос. Прогрузить его в DBGred и уже там с ним работать.


 
Sergey13 ©   (2006-06-15 15:39) [15]

> [14] rezya   (15.06.06 15:06)
> Ды не хочеться через SQL делать. Это слишко много запросов
> в базу. Могут админы по голове дать. Я просто хочу сделать
> один запрос. Прогрузить его в DBGred и уже там с ним работать.

Не хочется это одно. Админы по башке - это другое. Ты админов то спрашивал? Я помнится прогерам "по башке давал" за обратное. 8-)


 
rezya   (2006-06-15 15:49) [16]

Спрашивал. Ответ. Базу не грузить.
Дык как же всеже програмно получить значения из столбцов. Если

var:string;
.....
s:=DBGrid1.Columns.Grid.Fields[3].AsString;

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


 
rezya   (2006-06-15 15:51) [17]

Забыл добавить.... Определенного столбца с именет NameStolb.


 
Sergey13 ©   (2006-06-15 15:56) [18]

> [16] rezya   (15.06.06 15:49)
> Спрашивал. Ответ. Базу не грузить.

Куда не грузить? Почему не грузить? Пусть базу остановят и нагрузки не будет. 8-)


> он выдает значение первой строки третьего стобца. А как
> пробежать по всему диапазону строк "вниз". Как такой цикл
> сделать?


А какой смысл переменную то перезаписывать? Ну если хочется то:

while not dataset.eof do
begin
 s:=Dataset.FieldByName("NameStolb").AsString;
 dataset.next;
end;


 
rezya   (2006-06-15 16:06) [19]

Во во это примерно то что мне необходимо. Спасибо. А по поводу того как изминить ширину первого столбца? А то при стандартной выгрузке из базы (через DataSourse) у меня показывается только первый столбец, а все остальные доступны только при горизонтальном скролинге.


 
Sergey13 ©   (2006-06-15 16:14) [20]

У TColumn есть пропертя Width


 
rezya   (2006-06-15 16:22) [21]

Ок. Спасибо попробую.
А как при использовании етого кода:

while not dataset.eof do
begin
s:=Dataset.FieldByName("NameStolb").AsString;
dataset.next;
end;


Поокончанию вернуть указатель на начало Dataset? А то при повторном запуске ничего не происходит?


 
rezya   (2006-06-15 16:24) [22]

Аааа всее нашел.

dataset.First;


 
rezya   (2006-06-15 17:24) [23]

Я все по поводу ширины. Несмотря на то что я устанавляваю принудительно размер, всеравно первая ячейка отображается полность, закрывая другие.
Объясню еще раз. Когда я загружаю в DBGrid данные через datasours у меня первый столбец отображается на всю область DBGrid а остальные столбцы доступны только при прокрутке горизантального скролинга. Подскажите пожалуйста.


 
MsGuns ©   (2006-06-15 17:56) [24]

>rezya   (15.06.06 17:24) [23]
>Подскажите пожалуйста.

Если у тебя привязка грида к датасету выполняется динамически (не в дизайне), то после после открытиея датасета пробегай по колонкам и проверяй их св-во Width и, если оно больше какого-то разумного значения (например, 240), присваивай ему эти самые 240

ЗЫ. Может, стОит написать толково ТЗ и отдать Сереге - пусть уж он до конца прогу и напишет ?
;))


 
rezya   (2006-06-16 08:45) [25]

Нееее спасибо. В меня в принципе прога то готова. Осталось только с этой первой колонкой разобраться.


 
rezya   (2006-06-16 09:32) [26]

А на примере можете показать?


 
rezya   (2006-06-17 12:25) [27]

Кто подскажет как сделать в одной ячейке выравнивание по центру?


 
Virgo_Style ©   (2006-06-17 18:54) [28]

rezya   (17.06.06 12:25) [27]

ручная отрисовка



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

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

Наверх




Память: 0.53 MB
Время: 0.046 c
6-1141366408
DelphiN!
2006-03-03 09:13
2006.07.09
Перехват трафика


4-1143988223
spyrytus
2006-04-02 18:30
2006.07.09
Как запустить программу с грифом SYSTEM


15-1150178594
Ega23
2006-06-13 10:03
2006.07.09
С Днём рождения! 13 июня


2-1151056476
fedpavel
2006-06-23 13:54
2006.07.09
Ошибка при выполнении запроса


2-1150570432
Steplerr
2006-06-17 22:53
2006.07.09
Альтернатива OLE при работе c XLS &amp; DOC