请问一个DBGrid的问题

wythz 2006-11-09 01:26:40
我在主窗体上放置了一个DBGrid,用来显示一个账本表,我使用的TTable控件,没有使用TQuery,现在我想让Grid中只显示最近的10条记录,也就是按照我表中作为keyfield的id字段倒序显示,应该怎么弄?
另外我想让Grid中的某一行根据它的某一个字段值来选择它的字体颜色,又怎么实现?
这两天头都搞大了,希望大家不吝赐教
...全文
199 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
CACACACACA 2006-11-15
  • 打赏
  • 举报
回复
直接排序好像行了DBGrid

换成第三方的可以.
lurel 2006-11-15
  • 打赏
  • 举报
回复
看看table控件优美没有sort属性
wythz 2006-11-15
  • 打赏
  • 举报
回复
顶一下
wythz 2006-11-13
  • 打赏
  • 举报
回复
另外DefaultDrawColumnCell(Rect,DataCol,Column,State);是什么意思呢
wythz 2006-11-13
  • 打赏
  • 举报
回复
谢谢楼上2位,那倒序应该怎么实现呢
gyj_china 2006-11-09
  • 打赏
  • 举报
回复
设置过滤条件
Table1->Filter = "条件";
Table1->Filtered = true;

按条件着色
void __fastcall TForm1::DBGrid1DrawColumnCell(TObject *Sender,
const TRect &Rect, int DataCol, TColumn *Column,
TGridDrawState State)
{
if (Table1->FieldByName("姓名")->AsString == "张三")
{
DBGrid1->Canvas->Brush->Color=clGradientActiveCaption;
DBGrid1->DefaultDrawColumnCell(Rect,DataCol,Column,State);
}
}
CruelYoung123 2006-11-09
  • 打赏
  • 举报
回复
在DrawColumnCell中写事件就可以了..很简单的..

if(XXXX)
dbgrid1->Canvas->Font->Color = clWhite;
else
dbgrid1->Canvas->Font->Color = clGreen; //用RGB(45,57,100)就可以是各种颜色

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧