RT,在线等高手解决问题,希望贴出完整代码,本人是新手,分数不是问题,感谢!

将其字段的checkbox设为true就会有checkbox 了

Ehlib是第三方控件,不过做数据库编程来说已经替代默认BCB自带的DBGrid什么的控件了,属于增强版.老妖网站上有

不要第3方控件应该怎么实现呢

up

引用 4 楼 wuweize 的回复:
不要第3方控件应该怎么实现呢
实现不了

…不是吧

C/C++ code
void __fastcall TForm1::OnDrawColumnCell1(TObject *Sender, const TRect &Rect, int DataCol, TColumn *Column, TGridDrawState State) { int Select_Check[2]={DFCS_BUTTONCHECK,DFCS_BUTTONCHECK |DFCS_CHECKED} ; if (Column->Field->DataType== ftBoolean ) { TRect RecTemp; RecTemp.left = Rect.Left; RecTemp.right = Rect.Right; RecTemp.top = Rect.Top; RecTemp.bottom = Rect.Bottom; DBGrid1->Canvas->FillRect(Rect); DrawFrameControl(DBGrid1->Canvas->Handle,&RecTemp,DFC_BUTTON, Select_Check[Column->Field->AsBoolean?1:0]); } } //————————————————————————— void __fastcall TForm1::CellClick(TColumn *Column) { if (!Column->Field->DataSet->Eof) { if (Column->Field->DataType == ftBoolean ) { SaveBoolean(); } } } //————————————————————————— void __fastcall TForm1::KeyDown(TObject *Sender, WORD &Key, TShiftState Shift) { if ((Key ==VK_DOWN) && (ADOQuery1->RecNo==ADOQuery1->RecordCount)) Key=NULL; if ((Key==VK_SPACE)&& (DBGrid1->SelectedField->DataType==ftBoolean)) { SaveBoolean(); } } //————————————————————————— void __fastcall TfrmGatByRec::SaveBoolean()//这段出错,不知道格式怎么写 { DBGrid1->SelectedField->DataSet->Edit(); DBGrid1->SelectedField->AsBoolean=!DBGrid1->SelectedField->AsBoolean; DBGrid1->SelectedField->DataSet->Post(); }

幫我看下上面代碼是實現什么功能,注釋那是出錯了,謝謝

沒人幫忙?????????