DBGrid组件单元格为什么不能编辑 DBGrid组件单元格为什么不能编辑,不能录入任何内容?其Options\dgEditing为True;ReadOnly也为True. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ReadOnly是只读的意思……自然不能编辑了把ReadOnly改成False看看 我刚才试过了,ReadOnly改成False也试过了不行,但要连接了数据库才可以有编辑.想问一下:是不是只有在连接数据库状态下才能编辑DBGrid单元格的内容? 还有一个问题,为什么连接数据库后,在DBGrid单元格录入数据就直接写回到数据里去了?能不能允许在DBGrid单元格录入任何信息不写回数据库,而通过一个按钮检查数据的合法性,再执行相应的插入、修改、更新等操作? DBGrid.DataSource.DataSet.BeforePost可以用来检查另外录入数据必须要写入数据库 不知道你是用的什么控件存取数据的。如果用的是adoquery。可以把cursortype设为:ctKeyset,把locktype设为:ltBatchOptimistic。这样你改了数据后,它就不会自动更新回数据库了。只有执行了adoquery.updatebatch后才更新数据库 感谢xiangzi15,另外想请问下:按照你的方法虽然可以编辑,但总会把数据库里原有的数据显示出来,有没有办法不显示数据库原来的信息? 我想通过一个按钮,将录入到DBGrid的信息添加到SQL数据库中,应该如何写代码? with ADOQuery dobegin close; sql.clear; sql.add('INSERT INTO table (a,b,c)'); ExecSql;end;或者使用数据感知控件 select 字段1,... from biao where 1=0 select 字段1,... from 表 where 1=0 Dbgrid是数据感知控件,如果不想显示数据,我想只有用别的控件了。关于“将录入到DBGrid的信息添加到SQL数据库中”在按钮的Onclick事件中:adoquery.updateBatch;就可以把所做的更改更新回数据库了。 界面上有Edit组件,有DBGrid组件.DBGrid有多条记录,而Edit需要对应DBGrid的每条如果DBGrid有三条记录,请问如何将这三条记录写入SQL数据库中,且每条记录需对应加入Edit的值? 不显示数据库原来的信息.你就把数据集Append,追加一条空白,要执行别的操作的时候CancelUpdates后再执行.DBGrid组件单元格要编辑数据集要在Append或者Edit等状态下才能操作. 想请问一下大家,如果程序界面这样设计该如何处理?1、界面上半部分主要是几个Edit组件;2、界面下半部分主要是一个DBGrid样式的组件,允许多行记录,且每行记录第一列、第二列的值赋值分别等于上半部分Edit1,Edit2的值,第三列自动从0001,0002,……递增(条件是第四列有值时,第一列、第二列、第三列才按前述的进行赋值);3、通过点击一个按钮才将界面的所有数据写入SQL数据库中(界面下部分是多行数据,最好上部分写入SQL一个表,下部分内容写入SQL另一个表/如果能实现同样的效果,省去下部分第一列、第二列则更好);如果能解决这个问题,可以最大限度的加分哟! 建议不要用edit,用dbedit,这个控件在adoquery打开后,自动显示相对应字段的值。 感谢xiangzi15,问题已解决了! 如何打开testfile可读可写? DLL中的无模式窗体问题 关于Package的动态调用问题。 在DELPHI中怎样处理多表更新的问题? 求救!一个简单的问题很长时间没有得到解决!! Delphi6 Update pack2 发布了,快去download吧! 一个数据查询的问题 DELPHIL能否作为AUTOCAD二次开发的平台! 怎样让webbrowser读取流文件? Delphi5 Interbase组控件的Session问题 我想重新画出DOS色块风格控件的外观,DELPHI里应该怎么做呢? 求XP系统中屏蔽系统热键代码
自然不能编辑了
把ReadOnly改成False看看
能不能允许在DBGrid单元格录入任何信息不写回数据库,而通过一个按钮检查数据的合法性,再执行相应的插入、修改、更新等操作?
另外录入数据必须要写入数据库
begin
close;
sql.clear;
sql.add('INSERT INTO table (a,b,c)');
ExecSql;
end;或者使用数据感知控件
select 字段1,... from 表 where 1=0
关于“将录入到DBGrid的信息添加到SQL数据库中”
在按钮的Onclick事件中:adoquery.updateBatch;就可以把所做的更改更新回数据库了。
如果DBGrid有三条记录,请问如何将这三条记录写入SQL数据库中,且每条记录需对应加入Edit的值?
1、界面上半部分主要是几个Edit组件;
2、界面下半部分主要是一个DBGrid样式的组件,允许多行记录,且每行记录第一列、第二列的值赋值分别等于上半部分Edit1,Edit2的值,第三列自动从0001,0002,……递增(条件是第四列有值时,第一列、第二列、第三列才按前述的进行赋值);
3、通过点击一个按钮才将界面的所有数据写入SQL数据库中(界面下部分是多行数据,最好上部分写入SQL一个表,下部分内容写入SQL另一个表/如果能实现同样的效果,省去下部分第一列、第二列则更好);如果能解决这个问题,可以最大限度的加分哟!
感谢xiangzi15,问题已解决了!