目录树表中数据显示的位置跟SmEditTreeGrid2.DataTableHelp.DataRows中显示的顺序是不一致的。而树表删除节点需要先删除子节点再删除父节点。
所以想求直接删除树表中显示的所有的数据行得按照树表显示的列从最后往最前来倒序遍历。
- SmEditTreeGrid tbl= Proj.CurrentGrid as SmEditTreeGrid;
- //tbl.Rows.Count-1返回当前树表中最后一行的序号
- if(tbl.DataTableHelp.DataRows.Count>0)
- {
- for (int i = tbl.Rows.Count-1; i >= tbl.Rows.Fixed; i--)
- {
- tbl.Rows[i].GetRowData().Delete();
- }
- }
- tbl.Save();
-
- //如果不想删除数据,只想清空显示的话按下面的代码写
- tbl.DataTableHelp.DataRows.Clear(); //仅移除表中显示
- tbl.DataTableHelp.AcceptChanges(); //接受移除的状态,保存时不会真正删除
- tbl.Rows.Count=tbl.Rows.Fixed; //清空表中显示的数据
复制代码
|