Previous topicNext topic
Help > 开发指南 > SanMuGrid平台编程 > 主要对象 > RowData >
IsNull

IsNull是RowData对象中用来判断指定列是否为空值的。如果为空则返回True,不为空则返回False。主要有两种用法

RowData.IsNull(colName)

RowData.IsNull(colName,DataRowVersion) 这里的DataRowVersion跟索引器中的DataRowVersion是一致的。

下面就看看使用的示例

Vb.Net
Dim tbl As SmGrid=Proj.CurrentSmGrid
If tbl Is Nothing Then Return
Dim dr As RowData=tbl.CurrentRowData
If dr Is Nothing Then Return
'判断当前行是否有错误信息,如果有
If dr.IsNull("ID") Then
    dr("ID")=Sys.NewGUID
End If

'如果是已经修改过的列,可以通过行版本来访问原本的数据
If dr.IsNull("ID",DataRowVersion.Original) Then
    'dr.OriginalIsNull("ID")和dr.IsNull("ID",DataRowVersion.Original)效果是一致的
    Dim bnlIsNull As Boolean=dr.OriginalIsNull("ID")
End If

'dr.OriginalValue("ID")和dr("ID",DataRowVersion.Original)效果也是一样的
If dr.OriginalValue("ID")=dr("ID",DataRowVersion.Original) Then
    Proj.MsgDebug.Add("两个返回值一样")
Else
    Proj.MsgDebug.Add("两个返回值不一样")
End If

C#
SmGrid tbl = Proj.CurrentSmGrid;
if (tbl == null)
    return;
RowData dr = tbl.CurrentRowData;
if (dr == null)
    return;
// 判断当前行是否有错误信息,如果有
if (dr.IsNull("ID"))
    dr["ID"] = Sys.NewGUID;

// 如果是已经修改过的列,可以通过行版本来访问原本的数据
if (dr.IsNull("ID", DataRowVersion.Original))
{
    // dr.OriginalIsNull("ID")和dr.IsNull("ID",DataRowVersion.Original)效果是一致的
    bool bnlIsNull = dr.OriginalIsNull("ID");
}


// dr.OriginalValue("ID")和dr("ID",DataRowVersion.Original)效果也是一样的
if (dr.OriginalValue("ID") == dr("ID", DataRowVersion.Original))
    Proj.MsgDebug.Add("两个返回值一样");
else
    Proj.MsgDebug.Add("两个返回值不一样");