起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 220|回复: 11

新增问题**

[复制链接]
发表于 2009-1-19 19:06:55 | 显示全部楼层 |阅读模式
我用append新增一行,为什么我在保存之前点分页的地方点多几次,新增的一行就不见了
是跟焦点有关吗?如果我加一个jsdialogs.showmess的提示框在上面又不会这样子



并且如果我新增之后不编辑,我用代码给部分字段赋值,就直接保存,也没有保存进数据库,并且保存完之后那条数据就不见了

未命名.jpg

33.59 KB, 下载次数: 104

回复

使用道具 举报

发表于 2009-1-20 08:37:30 | 显示全部楼层
用代码给部分字段赋值,就直接保存,也没有保存进数据库
你是怎么保存的,如果是代码,把代码贴出来看看呢。

并且保存完之后那条数据就不见了
是在界面上没有显示了?界面都没有关闭过?有做其他动作吗?看看数据集是否定义了过滤条件等等。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-20 11:36:44 | 显示全部楼层
我在数据集的NewRecord事件上做的赋值,上面是赋值
数据集没有设置过滤条件

也没有做其他的事情了


   lQuery := TQuery.Create(Self);
    try
    with lQuery do
    begin
        Connection := DataSetBUSS_FEE_DT.Connection;
        Close;
        CommandText := 'SELECT FEE_SEQ.NEXTVAL AS PRIMARY_ID,TO_CHAR(SYSDATE,''YYYYMMDD'') AS THISTIME FROM DUAL';
        Open;
        DataSetBUSS_FEE_DT.FieldByName('PRIMARY_ID').AsString := FieldByName('PRIMARY_ID').AsString;
        DataSetBUSS_FEE_DT.FieldByName('THISTIME').AsString := FieldByName('THISTIME').AsString;
        DataSetBUSS_FEE_DT.FieldByName('BONUS_IN').AsString := DataSetHEAD_DT.FieldByName('BONUS_IN').AsString;

        DataSetBUSS_FEE_DT.FieldByName('DISTRICT_CODE').AsString :=DataSetHEAD_DT.FieldByName('DISTRICT_CODE').AsString;
        DataSetBUSS_FEE_DT.FieldByName('DISTRICT_NAME').AsString :=DataSetHEAD_DT.FieldByName('DISTRICT_CODE').DisplayText;
        DataSetBUSS_FEE_DT.FieldByName('AREA_CODE').AsString :=DataSetHEAD_DT.FieldByName('AREA_CODE').AsString;
        DataSetBUSS_FEE_DT.FieldByName('AREA_NAME').AsString :=DataSetHEAD_DT.FieldByName('AREA_CODE').DisplayText;
        DataSetBUSS_FEE_DT.FieldByName('SUB_AREA_CODE').AsString :=DataSetHEAD_DT.FieldByName('SUB_AREA_CODE').AsString;
        DataSetBUSS_FEE_DT.FieldByName('SUB_AREA_NAME').AsString :=DataSetHEAD_DT.FieldByName('SUB_AREA_CODE').DisplayText;
finally
     lQuery .Free;
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-20 11:39:30 | 显示全部楼层
新增之后,用代码赋值,然后点击datagrid的滚动条,数据也消失了,保存按钮也由未保存状态变成灰色了


datagrid上面没有写东西
回复 支持 反对

使用道具 举报

发表于 2009-1-20 11:45:24 | 显示全部楼层
楼主,执行post或者Applyupdates试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-20 11:46:48 | 显示全部楼层
怎样执行
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-20 11:54:15 | 显示全部楼层
现在是,如果我点保存,会执行Applyupdates事件

但是我点了datagrid的水平滚动条数据不会消失,但是点了垂直滚动条数据就会消失
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-20 12:10:44 | 显示全部楼层
datagrid有设置页脚汇总,我修改数据之后点水平滚动条页脚汇总不会变,点垂直滚动条页脚就会变,为什么
回复 支持 反对

使用道具 举报

发表于 2009-1-20 12:12:35 | 显示全部楼层
回复7楼
怎么点垂直滚动条的?消失是界面上看不见了,
再把滚动条回复到移动前的位置呢,也是看不到?

回复6楼
就是在Finally前加上
DataSetBUSS_FEE_DT.Post;
或者再加上
DataSetBUSS_FEE_DT.Applyupdates。
点击保存按钮就会执行DataSetBUSS_FEE_DT.Applyupdates

另外,你在滚动 DataSetBUSS_FEE_DT 这个数据集的记录的时候,做其他的处理了吗?
你看看,数据库里面是否有你刚才保存的记录呢?记住需要执行DataSetBUSS_FEE_DT.Applyupdates 这个才保存到数据库的,DataSetBUSS_FEE_DT.Post只是本地保存,没有提交数据库。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-20 14:36:00 | 显示全部楼层
关于6楼
我不是通过Post来提交的,我是通过点保存按钮来保存的
另外,我只是把光标放在那个滚动条上然后按下鼠标左键而已,按完之后数据就没了
数据库里面也没有刚刚这条记录

关于7楼
我只是把光标放在那个滚动条上然后按下鼠标左键而已,按完之后放开,数据就没了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-28 13:40 , Processed in 0.043948 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表