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

Вниз

как вставить CheckBox в Dbgrid ?   Найти похожие ветки 

 
Ulugbek   (2009-04-06 15:27) [0]

Привет всем!
Не получаеться у меня вставить чекбокс в DbGrid!
Использую Tclientdataset
открываю его select 0 as Logic,t.* from table1
в инете нашел такой код но не помагает..

procedure DrawGridCheckBox(Canvas: TCanvas; Rect: TRect; Checked: boolean);
var DF: Integer;
begin
 Canvas.TextRect(Rect, Rect.Left + 1, Rect.Top + 1, " ");
 DrawFrameControl(Canvas.Handle, Rect, DFC_BUTTON, DFCS_BUTTONPUSH or DFCS_ADJUSTRECT);
 DF:= DFCS_BUTTONCHECK or DFCS_ADJUSTRECT;
 if Checked then DF:= DF or DFCS_CHECKED;
 DrawFrameControl(Canvas.Handle, Rect, DFC_BUTTON, DF);
end;

procedure TfrmSpravMain.grdAccDrawColumnCell(Sender: TObject;
 const Rect: TRect; DataCol: Integer; Column: TColumn;
 State: TGridDrawState);
begin
 if Column.FieldName = "logic" then
 if Column.Field.AsInteger > 0 then
 DrawGridCheckBox(grdAcc.Canvas, Rect, true)
 else
 DrawGridCheckBox(grdAcc.Canvas, Rect, false)
end;

Спасибо за внимание


 
clickmaker ©   (2009-04-06 15:41) [1]

> но не помагает

не рисует? или что?


 
Ulugbek   (2009-04-06 15:43) [2]

аха не рисует...


 
Ega23 ©   (2009-04-06 16:15) [3]

UpperCase(Column.FieldName) = "LOGIC"
А так?


 
Ulugbek   (2009-04-06 16:47) [4]

Спасибо Ega23 получилось хоть что то..
Но теперь не могу галку ставить вставил код в событие ColEnter
у меня 0 это Uncheked а 1 cheked

with TDBGrid(Sender) do
   if SelectedField.FieldName = "LOGIC" then
     Options := Options - [dgEditing]
   else
     Options := Options + [dgEditing]

Как мне в клике 1 ставить?


 
clickmaker ©   (2009-04-06 16:55) [5]

> Как мне в клике 1 ставить?

меняй значение поля


 
Ega23 ©   (2009-04-06 16:58) [6]


> if SelectedField.FieldName = "LOGIC" then


"LoGiC" <> "lOgIc" <> "logic" <> "LOGIC".


 
Ulugbek   (2009-04-06 17:21) [7]

Ega23 по подробнее плз
 with TClientDBGrid(Sender) do
   if SelectedField.FieldName = "CBBOX" then
   "LoGiC" <> "lOgIc" <> "logic" <> "LOGIC".
     Options := Options - [dgEditing]
   else
     Options := Options + [dgEditing]


 
Игорь Шевченко ©   (2009-04-06 17:22) [8]


>    if SelectedField.FieldName = "CBBOX" then
>    "LoGiC" <> "lOgIc" <> "logic" <> "LOGIC".


бедный компилятор


 
Ega23 ©   (2009-04-06 17:32) [9]


> Ega23 по подробнее плз


Пожалуйста.

const
 c_FldName = "logIC";

procedure TForm1.Button1Click(Sender: TObject);
begin
 if Edit1.Text=c_FldName then
  ShowMessage("Yes")
 else
  ShowMessage("No");
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 if UpperCase(Edit1.Text)=UpperCase(c_FldName) then
  ShowMessage("Yes")
 else
  ShowMessage("No");
end;


Теперь подставь в Edit1 по очереди значения "LoGiC", "lOgIc","logic", "LOGIC".
Нажми каждый раз 2 кнопки.
Посмотри на результат.
Подумай.
Почитай про сравнения строк.
Подумай ещё раз.
Посмотри реализацию TDataSet.FieldByName в DB.pas



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

Форум: "Начинающим";
Текущий архив: 2009.05.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.005 c
3-1221156965
wipr
2008-09-11 22:16
2009.05.24
сортировка данных в XML


15-1237892901
alexander-rsh
2009-03-24 14:08
2009.05.24
Сохранени е в IniFile


6-1203266485
Lamer666
2008-02-17 19:41
2009.05.24
Отправка писем с локальной машины прямо на почтовые ящики


2-1238999216
Дмитрий
2009-04-06 10:26
2009.05.24
Помогите обработать HResult


15-1237897102
Я
2009-03-24 15:18
2009.05.24
Выключение компа





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский