我是新手,在学delphi时遇到不少问题,可能对老手来说比较简单,请高手们指点一下。
1 在dbgrid、stringgrid表格上上下移动时,光标所在整一行变成蓝色,就像listbox、combobox里选中的项目一样,这在dbgrid和stringgrid里该怎么设置?
2 在上一问的基础上按回车编辑本行,要求只激活这一行中可以修改的列,光标不能停留在不能修改的列,这在2种表中又该怎么设置?
3 怎样编写代码对dbgrid、stringgrid中特定行、特定列、特定单元的数据进行访问和赋值呢?
4 对用sql语句返回的数据库结果集recordset,怎样编写代码来读取它的数据?如果结果集没有列名,又该怎么读取?例如下图
5 字符串截取。例如字符串database001,我想要截成前面的字母串database和后面的数字串001,或者更一般的在任意位置截取,例如database001截成dat和abase001。不知道有没有函数能实现这个功能呢?
6 变换字符串。例如database001,我想在运行时实现自加,变成database002 database003……不知道有没有相应的函数呢?
delphi中 表格操作 结果集访问 字符串转换,老手进
答案:1 悬赏:30 手机版
解决时间 2021-04-25 02:39
- 提问者网友:孤山下
- 2021-04-24 07:32
最佳答案
- 五星知识达人网友:山有枢
- 2021-04-24 08:52
1:在他们的options的dgRowSelect属性改为true;
2:你在设置完dgRowSelect属性为true的时候。你就会发现他原来的dgEditing属性就变成了false,就是无法直接修改,所以你说的这个可能不能实现,至少我是没办法。。
3:
if DBGrid1.DataSource.DataSet.RecordCount<>0 then
begin
combobox1.Text:=DBGrid1.Fields[0].AsString;
end;
就是combobox1等于DBGrid1中你所选的行的第一列数据
4:可以select max(名称)as name from 商品信息
5:这个貌似听说有。。我也找了好久了。。可惜没找到= =!
6:这个你可以吧001存在一个表中。。然后运行的时候先调出这个表中的001 然后在前面加英文
with dm.aq_dac do
begin
close;
sql.clear;
sql.add('select * from dac where id=''3''');
open;
edit1.text:='datebase'+fieldbyname('D_no'),asstring;
end;
自动增加数字的话。你可以在某一个按钮上写。当点击后。。取出数据库中的001 然后给他+1 然后通过一段运算让他变成002 然后update这条数据。。下次取的时候就变成002了;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯