怎么让DBGrid中某几个字段(列)可以直接编辑,其他列不能编辑呢?

dhfly 2004-12-30 09:53:47
如题,我只想让用户编辑其中几列,剩下的只读,谢谢!
...全文
129 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
打开DBGrid的Column编辑器,对各个列设置其ReadOnly属性
  • 打赏
  • 举报
回复
在DBGrid 的 OnColEnter 事件里写代码。下面的代码,DBGrid的第1列(从0算起)不可编辑的。
void __fastcall TForm1::DBGrid1ColEnter(TObject *Sender)
{
TDBGridOptions Options;

Options = DBGrid1->Options;
if (DBGrid1->SelectedIndex == 1) //第一列不可编辑
Options >> dgEditing;
else //除了第一列,其它列可以编辑
Options << dgEditing;
if (DBGrid1->Options != Options)
DBGrid1->Options = Options;
}
MarsRich 2004-12-31
  • 打赏
  • 举报
回复
楼上三个方法都对,分就别给我了。
558047 2004-12-31
  • 打赏
  • 举报
回复
50分给我吧,那我就变成3个角了,呵呵
在DBGrid 的 OnColEnter 事件里写代码。下面的代码,DBGrid的第1列(从0算起)不可编辑的。
void __fastcall TForm1::DBGrid1ColEnter(TObject *Sender)
{
TDBGridOptions Options;

Options = DBGrid1->Options;
if (DBGrid1->SelectedIndex == 1) //第一列不可编辑
Options >> dgEditing;
else //除了第一列,其它列可以编辑
Options << dgEditing;
if (DBGrid1->Options != Options)
DBGrid1->Options = Options;
}
我不懂电脑 2004-12-31
  • 打赏
  • 举报
回复
同意 samchoy() ( ) 信誉:105
或者打开Table的Field编辑器,对各个列设置其ReadOnly属性
samchoy 2004-12-30
  • 打赏
  • 举报
回复
打开DBGrid的Column编辑器,对各个列设置其ReadOnly属性

1,178

社区成员

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

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