![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DBGrid&CheckBox [D5, MSSQL]
sanilo © (2002-04-24 10:28:00)Привет всем!
Вот такой вопросик:
а не встречал ли кто-нибудь где-нибудь DBGridс
возможностью в поле "ставить галочку"
;)
Заранее спасибо!
Slym (2002-05-20 07:58:00) [1]Статья "Разноцветный ДБ Грид"
Victor1 (2002-05-18 18:47:00) [2]А для C++ Builder кто-нибудь знает где лежит бесплатный Quantum Grid?
asafr (2002-04-26 10:49:00) [3]http://www.delphikingdom.com/helloworld/dbgridcolor.htm
Praco (2002-04-26 09:17:00) [4]> дядька Рус (25.04.02 19:52)
Спасибо, дядя, а я не только Grid качнул :))
дядька Рус (2002-04-25 19:52:00) [5]2Praco ->Да там не только Quantum Grid бесплатный :)))))
DenNNis (2002-04-24 12:46:00) [6]у меня есть тож с левого диска, но работает чудесно и давно, правда весит 8 мег :)
Johnny Smith (2002-04-24 11:49:00) [7]2koks Да валяется он кое-где на левых дисках...
Praco (2002-04-24 11:49:00) [8]Только что нашел Quantum Grid, говорят бесплатный. Качаю. :))
http://rus.newmail.ru/comps.htm
koks (2002-04-24 11:47:00) [9]2 DenNNis - а где его взять.. то этот Quantum Grid... Он же кучу бабок стоит
Леонид (2002-04-24 11:29:00) [10]А существует ли в природе русский Help по EhLib ?
DenNNis (2002-04-24 11:07:00) [11]лучше использовать Express Quantum Grid - очень мощная чтука, там можно и чекбоксы ставить и еще кучу всяких прелестей.
Johnny Smith (2002-04-24 11:02:00) [12]Ну, если будет не лень самому, то можно воспользоваться такой феней, как DrawFrameControl. Она позволяет прописывать контролы в указанный участок канвы.
Пример (правда, касается TStringGrid"а):
...
На событие OnDrawCell вешаем процедуру:
procedure TDifListForm.Grid1DrawCell(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
var
dc:HDC;
s:string;
begin
dc:=Grid1.Canvas.Handle;
if (ACol=3) and (ARow>0)
then
with Grid1.Canvas do
begin
FillRect( Rect );
{если в ячейке стоит "Y", то рисуем чекбокс с галочкой
если нет - пустой чекбокс}
if Grid1.Cells[ACol,ARow]="Y" then
DrawFrameControl(dc,Rect, DFC_BUTTON , DFCS_CHECKED)
else
DrawFrameControl(dc,Rect ,DFC_BUTTON , DFCS_BUTTONCHECK)
end;
end;
...
А теперь при щелчке мышкой по ячейке или нажатии <Пробела> пишем в ячейку "Y" или "N":
procedure TDifListForm.DiffGridMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
with Grid1 do
if (Col=3) and (Row>0) then
begin
if Cells[Col,Row]="" then
Cells[Col,Row]:="Y"
else
Cells[Col,Row]:="N"
end;
end;
...
+ такой же обработчик на нажатие пробела.
Для DBGrid"а пишется то же самое, но отрисовка идет на событие OnDrawDataCell и смена "Y" на "N" производится не на гриде, а в датасете.
Sergey13 (2002-04-24 10:54:00) [13]http://www.farpost.com/personal/dmitryb
sanilo (2002-04-24 10:44:00) [14]А откуда он берется этот самый DBGridEh?
Если не сложно, подскажи где можно взять;))))
Praco (2002-04-24 10:33:00) [15]DBGridEh