PB之DWItemStatus

来源:互联网 发布:阿里云 注册域名送邮箱 编辑:程序博客网 时间:2024/06/16 06:30

DWItemStatus是标示DataWindow中的数据行和列修改状态和如何写入数据库中的一个枚举类型变量
这个枚举变量有四个值:NotModified!,DataModified!,New!,NewModified!。
NotModified!表示数据窗口中从数据源中检索出的行数据和列数据没有发生改变。
DatModified!表示数据窗口中从数据源中检索出的行数据和列数据发生了改变。
New!表示数据窗口中某一行数据是新插入而且没有修改过。
NewModified!表示数据窗口中某一行数据是新插入但是被修改过。
以上所说的修改包括手工输入和用SetItem函数设置。
在这四个值中NotModifed!、DataModified!可以表示行和列的状态,
但New!和NewModified!只可以表示行的状态。

当数据被检索时:
数据窗口检索到数据以后,所有的行和列的状态被初始化为NotModified!.
一旦某一行中的一列数据被手工输入修改或被程序修改后,这一列的状态变成了DataModified!.
一行中只要有一列状态是DataModified!,那这一行状态也就变成DataModified!.

当数据被插入时:
数据窗口中插入一行后,这一行的状态初始化为New!,这一行中的所有列状态被初始化为NotModified!.
一旦这一行中的一列数据被手工输入修改或被程序修改后,这一列的状态变成DataModified!。
新插入的一行中只要有一列状态是DataModified!,那这一行状态就变为NewModified!。
如果在数据窗口设计时为某一列设置了默认值,那新插入行时,这一列不会变成DataModified!

生成sql语句:
在数据窗口保存数据时,行的状态就决定了如何生成sql语句。
如果行的状态是NewModified!,那就生成insert语句在数据库中插入一行数据。
如果行的状态是DataModified!,那就生成update语句在数据窗口中更新相应数据。

操作函数说明
获取行和列的状态
在程序中可以用数据窗口的GetItemStatus方法来获取行或列的状态。函数原形如下:
DWItemStatus DwControl.GetItemStatus(long row,integer column,DWBuffer DWBuffer)
DWItemStatus DwControl.GetItemStatus(long row,string column,DWBuffer DWBuffer)
参数说明:
row 获取状态的行。
column 获取状态的列,如果是整行的状态,这个参数设置为0。
DWBuffer 行所在的缓冲区。
返回值:指定行或列的状态枚举值。任一参数为null时,返回null。

0 0
原创粉丝点击