Previous topicNext topic
Help > 开发指南 > SanMuGrid平台编程 > 主要对象 > BaseGrid > 属性 >
复选框
属性名称 分类 是否常用 说明
CheckBoxColName 复选框 返回或设置选择列的列名称。初始时,一般为一个随机的名称。
CheckBoxIndex 复选框 选择列的序列
ShowCheckBox 复选框 是否显示选择列。

方法名称 分类 说明
CheckAllRows 复选框 选中所有行。
ClearCheckedRows 复选框 清空所有选择状态。
ClearSelectedRangeData 复选框清空当前表中选择区域中所有的数据为DBNull.Value。
DeleteSelectedRows 复选框 直接删除当前所选择的所有行
GetCheckedRows 复选框 获得所有选择好的行集合。
HideCheckedRows 复选框 隐藏所有选择行。
HideUnCheckedRows 复选框 隐藏所有未选择行。
ShowAllRows 复选框 显示所有隐藏的行。
UnCheckAllRows()  复选框 反选所有的选择行

Vb.Net
Dim tbl As SmGrid=Proj.CurrentSmGrid
'打开复选框选择
tbl.ShowCheckBox=True
'选择所有行
tbl.CheckAllRows()
'选择当前Selection选区内的所有行
tbl.CheckAllRows(tbl.CheckBoxColName,True)
'我们还可以针对其他列进行选择
tbl.CheckAllRows("是否在职") '全选
tbl.CheckAllRows("是否在职",True) '只选择当前Selection选区内的所有行

'与CheckAllRows相对,ClearCheckedRows是将所有行的选择状态都清空,设置为False
'取消所有行选择状态
tbl.ClearCheckedRows()
'当前Selection选区内的所有行取消选择
tbl.ClearCheckedRows(tbl.CheckBoxColName,True)
'我们还可以针对其他列进行取消选择
tbl.ClearCheckedRows("是否在职") '全部取消
tbl.ClearCheckedRows("是否在职",True) '只针对当前Selection选区内的所有行取消选择

'与CheckAllRows相关的,还有一个UnCheckAllRows
'所有行选择状态取反
tbl.UnCheckAllRows()
'当前Selection选区内的所有行选择状态取反
tbl.UnCheckAllRows(tbl.CheckBoxColName,True)
'我们还可以针对其他列进行选择状态取反
tbl.UnCheckAllRows("是否在职") '全部取反
tbl.UnCheckAllRows("是否在职",True) '只针对当前Selection选区内的所有行进行取反操作

'筛选和隐藏还是有点区别的,隐藏只是把行的高度设置为0
'隐藏所有选择行。
tbl.HideCheckedRows()
'隐藏所有未选择行。
tbl.HideUnCheckedRows()
'显示所有隐藏的行
tbl.ShowAllRows()

'获得所有选择好的行集合。
Dim lstDrs As List(Of RowData)=tbl.GetCheckedRows()
For Each dr As RowData In lstDrs
    Proj.MsgDebug.Add(dr(0))
Next

'删除当前所选择的所有行
tbl.DeleteSelectedRows()

If tbl.Selection.IsValid Then
    '清空当前表中选择区域中所有的数据为DBNull.Value。
    tbl.ClearSelectedRangeData()
End If

C#
SmGrid tbl = Proj.CurrentSmGrid;
// 打开复选框选择
tbl.ShowCheckBox = true;
// 选择所有行
tbl.CheckAllRows();
// 选择当前Selection选区内的所有行
tbl.CheckAllRows(tbl.CheckBoxColName, true);
// 我们还可以针对其他列进行选择
tbl.CheckAllRows("是否在职"); // 全选
tbl.CheckAllRows("是否在职", true); // 只选择当前Selection选区内的所有行

// 与CheckAllRows相对,ClearCheckedRows是将所有行的选择状态都清空,设置为False
// 取消所有行选择状态
tbl.ClearCheckedRows();
// 当前Selection选区内的所有行取消选择
tbl.ClearCheckedRows(tbl.CheckBoxColName, true);
// 我们还可以针对其他列进行取消选择
tbl.ClearCheckedRows("是否在职"); // 全部取消
tbl.ClearCheckedRows("是否在职", true); // 只针对当前Selection选区内的所有行取消选择

// 与CheckAllRows相关的,还有一个UnCheckAllRows
// 所有行选择状态取反
tbl.UnCheckAllRows();
// 当前Selection选区内的所有行选择状态取反
tbl.UnCheckAllRows(tbl.CheckBoxColName, true);
// 我们还可以针对其他列进行选择状态取反
tbl.UnCheckAllRows("是否在职"); // 全部取反
tbl.UnCheckAllRows("是否在职", true); // 只针对当前Selection选区内的所有行进行取反操作

// 筛选和隐藏还是有点区别的,隐藏只是把行的高度设置为0
// 隐藏所有选择行。
tbl.HideCheckedRows();
// 隐藏所有未选择行。
tbl.HideUnCheckedRows();
//显示所有隐藏的行
tbl.ShowAllRows();


// 获得所有选择好的行集合。
List<RowData> lstDrs = tbl.GetCheckedRows();
foreach (RowData dr in lstDrs)
{
    Proj.MsgDebug.Add(dr[0]);
}
    

// 删除当前所选择的所有行
tbl.DeleteSelectedRows();

if (tbl.Selection.IsValid)
{
    // 清空当前表中选择区域中所有的数据为DBNull.Value。
    tbl.ClearSelectedRangeData();
}