我正在使用 Delphi 7 和 Intraweb 的 TMS 套件制作一个 Web 应用程序。我有几个客户端数据集组件,我使用 TTIWDBAdvWebGrid 来显示数据。TTIWDBAdvWebGrid 是一个数据感知组件,但是当我修改网格中的某些值时,数据不是持久的(在单元格事件中,单元格的值是旧的,而不是我设置的值)。
有任何想法吗?
我正在使用 Delphi 7 和 Intraweb 的 TMS 套件制作一个 Web 应用程序。我有几个客户端数据集组件,我使用 TTIWDBAdvWebGrid 来显示数据。TTIWDBAdvWebGrid 是一个数据感知组件,但是当我修改网格中的某些值时,数据不是持久的(在单元格事件中,单元格的值是旧的,而不是我设置的值)。
有任何想法吗?
似乎事件没有很好地触发。而且,OnDirectEditUpdate 事件也没有发生。
以下代码(放入 ClientEvents->EditDone)正在解决问题:
if (IsEditing(obj))
{
valedt =GetEditValue(IWDBECRITCOUPLESObj,c,r);
i = GetEditRow(IWDBECRITCOUPLESObj);
SetEditValue(IWDBECRITCOUPLESObj,8,i,valedt);
}
在此之后,在数据集上设置该值。
IWDBECRITCOUPLES 是表单上网格组件的名称。GetEditValue 和 SetEditValue 有参数 gridname(后跟 Obj 后缀)、column、row 和 Value(仅 SetEditValue 函数) GetEditRow 有参数 gridname(后跟 Obj)