Previous topicNext topic
Help > 开发指南 > SanMuGrid平台编程 > 主要对象 > DataTableHelp > 数据增删改查 >
Find

Find为在内存表中查找,用筛选条件查找符合条件的行,如果找到的话,返回找到的行,否则返回Nothing。

语法:

Find (Filter,Sort,Index)

参数说明

名称 说明
Filter 必填项,字符串类型,设置删除内存表中数据的筛选条件,使用表达式筛选。跟本地筛选使用相同的语法。
Sort 可选项,字符串类型,指定排序方式。默认为空字符串。
Index 可选项,整数类型,指定返回第几个符合条件的行,0表示第一行。默认值 为0,返回第一行。

Vb.Net
Dim tbl As SmGrid=Proj.CurrentSmGrid
'删除指定条件的数据
Dim dr As RowData= tbl.DataTableHelp.Find("工号='U800003'")
If dr IsNot Nothing Then '如果找到了对应行
    dr("在职")=True
Else '如果没有找到相应行
    dr=tbl.DataTableHelp.AddNew() '则新增一条数据
    dr("工号")="U800003"
    dr("在职")=True
End If

'返回性别为男,按姓名排序的第三个人
dr=tbl.DataTableHelp.Find("性别='男'","姓名",2)
If dr IsNot Nothing Then
    Proj.MsgDebug.Add(dr("姓名"))
End If

C#
SmGrid tbl = Proj.CurrentSmGrid;
// 删除指定条件的数据
RowData dr = tbl.DataTableHelp.Find("工号='U800003'");
if (dr != null) //如果找到了对应行
{
    dr["在职"] = true;
}
else //如果没有找到相应行
{
    dr = tbl.DataTableHelp.AddNew(); // 则新增一条数据
    dr["工号"] = "U800003";
    dr["在职"] = true;
}

// 返回性别为男,按姓名排序的第三个人
dr = tbl.DataTableHelp.Find("性别='男'", "姓名", 2);
if (dr != null)
{
    Proj.MsgDebug.Add(dr["姓名"]);
}