在数据表中有一个逻辑型字段,如何使它在Dbgrid1上以复选框形式出现?如何使复选框的值与数据表中的逻辑型字段值对应起来?
解决方案 »
- 研究!协议关联或注册问题!急!! 诚心求解!
- 如何动态读取popupmenu的caption值
- 急:整型如何转换成CHAR类型?多谢
- Delphi这么少人用吗?
- Delphi7中,要建立基于COM+是使用Multier那项?
- 请问,将一个数据表中的一条记录整条复制到另外一个数据表中,怎么写?
- 菜鸟的烦恼之"文件格式"篇
- Delphi5 的Query控件有这样一个属性Constraints,是做什么用的?
- help!(在线,立即给分)
- form动态创建时,怎么触发button的单击事件?
- 简单问题,得分容易。
- 请问各位高手!为什么我做的C/S程序中,Client只有在Agent的帮助下才能连上Server?
可以实现checkbox,lookup,treeview的功能
有DBGRID的单元重绘的详细编码。
C++Builder 的,与Delphi原理一样
void __fastcall TW_MM_P_Receive::dbgIncomeDrawColumnCell(TObject *Sender,
const TRect &Rect, int DataCol, TColumn *Column,
TGridDrawState State)
{
int iLeft = 0;
if (Column->FieldName == "Checked")
{
iLeft =(Rect.Right-Rect.Left-10)/2 + 1/2; dbgIncome->Canvas->Brush->Color =clWhite; //去掉阴影
dbgIncome->Canvas->FillRect(Rect); dbgIncome->Canvas->Pen->Color =clBlue; //
dbgIncome->Canvas->Pen->Width =2; dbgIncome->Canvas->MoveTo(Rect.Left+iLeft,Rect.Top+3);
dbgIncome->Canvas->LineTo(Rect.Left+iLeft+10,Rect.Top+3);
dbgIncome->Canvas->LineTo(Rect.Left+iLeft+10,Rect.Top+13);
dbgIncome->Canvas->LineTo(Rect.Left+iLeft,Rect.Top+13);
dbgIncome->Canvas->LineTo(Rect.Left+iLeft,Rect.Top+2); if (adoqIncome->FieldByName("Checked")->AsString == "1")
{
dbgIncome->Canvas->MoveTo(Rect.Left+iLeft,Rect.Top+6);
dbgIncome->Canvas->LineTo(Rect.Left+iLeft+4,Rect.Top+11);
dbgIncome->Canvas->LineTo(Rect.Left+iLeft+12,Rect.Top+1);
}
}
}
//---------------------------------------------------------------------------