Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.07.09;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.009 c
15-1150178242
Ega23
2006-06-13 09:57
2006.07.09
С Днём рождения! 11 июня


2-1150811926
Тимофей Юрьевич
2006-06-20 17:58
2006.07.09
скан сети на 21 порт


3-1147329972
petvv
2006-05-11 10:46
2006.07.09
SQL запрос


3-1147266021
Morrison
2006-05-10 17:00
2006.07.09
Index is read-only. Что делать?


8-1134755959
hgd
2005-12-16 20:59
2006.07.09
Вывод большого изображения (Gb)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский