Previous topicNext topic
Help > 开发指南 > SanMuGrid平台编程 > 主要对象 > BaseGrid > 方法 >
查找替换
方法名称 分类 说明
FindDataRow 查找替换 根据字符查找到绑定行号。
FindRow 查找替换 根据字符查找到指定行的BaseGrid的行号。
ShowFindForm 查找替换 显示查找窗体
ShowReplaceForm 查找替换 显示替换窗体

FindRow(strFind,rowStart,col,caseSensitive,fullMatch,wrap)

名称 说明
strFind 必填项,字符串类型,要查找的字符。
rowStart 必填项,数值类型,查找开始的行号。
col 必填项,数值类型,要查找的列序号。
caseSensitive 必填项,逻辑类型,查找时是否区分大小写。
fullMatch必填项,逻辑类型,查找时是否完全匹配。
wrap 必填项,逻辑类型,查找时是否循环查找。

FindRow(objFind,rowStart,col,wrap)

名称 说明
objFind 必填项,字符串类型,要查找的字符。
rowStart 必填项,数值类型,查找开始的行号。
col 必填项,数值类型,要查找的列序号。
wrap 必填项,逻辑类型,查找时是否循环查找。

FindDataRow(strFind,rowStart,col,caseSensitive,fullMatch,wrap)

名称 说明
strFind 必填项,字符串类型,要查找的字符。
rowStart 必填项,数值类型,查找开始的行号。
col 必填项,数值类型,要查找的列序号。
caseSensitive 必填项,逻辑类型,查找时是否区分大小写。
fullMatch必填项,逻辑类型,查找时是否完全匹配。
wrap 必填项,逻辑类型,查找时是否循环查找。

FindDataRow(strFind,rowStart,Colname,caseSensitive,fullMatch,wrap)

名称 说明
strFind 必填项,字符串类型,要查找的字符。
rowStart 必填项,数值类型,查找开始的行号。
colName 必填项,字符串类型,要查找的列名称。
caseSensitive 必填项,逻辑类型,查找时是否区分大小写。
fullMatch必填项,逻辑类型,查找时是否完全匹配。
wrap 必填项,逻辑类型,查找时是否循环查找。

Vb.Net
Dim tbl As SmGrid = Proj.CurrentSmGrid
'方法一:直接查找到对应的绑定数据行的行号
Dim intPosition As Integer = tbl.FindDataRow("Findex", 0, "ColName", False, True, True)
'如果找到了,则直接定位到此数据
If intPosition >= 0 Then
    tbl.Position = intPosition
End If

'方法二:通过BaseGrid的FindRow找到表中的行号
Dim intRow As Integer = tbl.FindRow("Findex", 0, tbl.Cols("ColName").Index, False, True, True)
'通过表查询到绑定数据行的行号
If intRow>=0 Then
    intPosition = tbl.Rows(intRow).DataIndex
    '如果找到了,则直接定位到此数据
    If intPosition >= 0 Then
        tbl.Position = intPosition
    End If
End If

'方法三:能DataTableHelp的Find方法
Dim dr As RowData=tbl.DataTableHelp.Find("ColName='Findex'",tbl.View.Sort,0)
'如果真找到了,则直接根据Index行序号定位
If dr IsNot Nothing Then
    tbl.Position=dr.Index
End If

'打开表中的查找窗口
tbl.ShowFindForm()
'打开表中的查找替换窗口
tbl.ShowReplaceForm()

C#
SmGrid tbl = Proj.CurrentSmGrid;
// 方法一:直接查找到对应的绑定数据行的行号
int intPosition = tbl.FindDataRow("Findex", 0, "ColName", false, true, true);
// 如果找到了,则直接定位到此数据
if (intPosition >= 0)
    tbl.Position = intPosition;

// 方法二:通过BaseGrid的FindRow找到表中的行号
int intRow = tbl.FindRow("Findex", 0, tbl.Cols("ColName").Index, false, true, true);
// 通过表查询到绑定数据行的行号
if (intRow >= 0)
{
    intPosition = tbl.Rows[intRow].DataIndex;
    // 如果找到了,则直接定位到此数据
    if (intPosition >= 0)
        tbl.Position = intPosition;
    }

// 方法三:能DataTableHelp的Find方法
RowData dr = tbl.DataTableHelp.Find("ColName='Findex'", tbl.View.Sort, 0);
// 如果真找到了,则直接根据Index行序号定位
if (dr != null)
    tbl.Position = dr.Index;

// 打开表中的查找窗口
tbl.ShowFindForm();
// 打开表中的查找替换窗口
tbl.ShowReplaceForm();