Camstar中Grid控件怎么用代码去删除选中的行 并且清掉勾选框

if (Page.EventArgument == "FloatingFrameSubmitParentPostBackArgument")
{
if (Page.DataContract.GetValueByName("IsRefresh") == null)
{//从这里开始
List allRows = new List(); // 将 guid_one 中的所有数据存储到 allRows 集合中
if (guid_one.Data is DataTable dataTable)
{
foreach (DataRow row in dataTable.Rows)
{
allRows.Add(row);

}
}
// 创建一个集合来存储选中的数据
List selectedRows = new List();
// 将选中的数据存储到 selectedRows 集合中
foreach (string selectedRowId in guid_one.SelectedRowIDs)
{
var selectedRowData = guid_one.GetItem(selectedRowId, out var errMsg) as DataRow;
if (selectedRowData != null)
{
selectedRows.Add(selectedRowData);
}
} // 从 allRows 集合中移除 selectedRows 集合中的数据
foreach (var rowToRemove in selectedRows)
{
if (rowToRemove["Id"].ToString() != "0" && !string.IsNullOrEmpty(rowToRemove["Id"].ToString()))
{
allRows.RemoveAll(row => row["Id"].ToString() == rowToRemove["Id"].ToString());
}

}
// 将更新后的数据重新赋值给 guid_one 控件

guid_one.Data = ConvertListToDataTable(allRows);
foreach (string selectedRowId in guid_one.SelectedRowIDs)
{
guid_one.BoundContext.SelectRow(selectedRowId, false);
}
}
private DataTable ConvertListToDataTable(List rows)
{
if (rows == null || rows.Count == 0) {
return new DataTable();
}
DataTable dt = rows[0].Table.Clone(); // 复制表结构
foreach (DataRow row in rows) {
dt.ImportRow(row);
} return dt;
}
总结: nyClear();
//清除选中行(高亮)
if (nyBatchOrderSortGrid.GridContext.SelectedRowID != null)
{
nyBatchOrderSortGrid.BoundContext.SelectRow(nyBatchOrderSortGrid.BoundContext.MakeAutoRowId(int.Parse(nyBatchOrderSortGrid.GridContext.SelectedRowID)), false);
}
return;

posted @ 2024-07-25 17:04  你就是个大锤子  阅读(85)  评论(0)    收藏  举报