Clone克隆行.将当前行完全复制一份并新增到DataTableHelp中,并将复制行返回。默认情况下自增长ID列是不会一起复制的,这个会根据规则自动生成,防止强制赋值引起冲突。
参数名称 | 说明 |
donotCloneCols | 字符串集合类型,可选参数。不想克隆的列,如果不添加表示要克隆所有列。如果添加了,则添加的列不会被复制,在一些有冲突的场景下,此参数非常有用。 |
示例:
Vb.Net |
Dim tbl As SmGrid=Proj.CurrentSmGrid If tbl Is Nothing Then Return Dim dr As RowData=tbl.CurrentRowData If dr Is Nothing Then Return '先打印之前的行数据 Proj.MsgDebug.Add("之前的数据:{0}",String.Join("|", dr.BaseRow.ItemArray)) '普通地克隆,除了自增长ID外都是一样的。 Dim drClone As RowData=dr.Clone() '打印克隆后的行数据 Proj.MsgDebug.Add("克隆的数据:{0}",String.Join("|", drClone.BaseRow.ItemArray)) Dim lst As New List(Of String) lst.Add("订单号") lst.Add("单价") lst.Add("订单状态") drClone=dr.Clone(lst) Proj.MsgDebug.Add("去除部分列克隆的数据:{0}",String.Join("|", drClone.BaseRow.ItemArray)) '返回结果:之前的数据:|9|9|产品05|客户01|业务员02|35.5|661|23465.5|2019-01-04 0:00:00|8|3|五|23465.5 '返回结果:克隆的数据:|9|-1|产品05|客户01|业务员02|35.5|661|23465.5|2019-01-04 0:00:00|8|3|五|23465.5 '返回结果:去除部分列克隆的数据:|9|-2|产品05|客户01|业务员02||661|23465.5|2019-01-04 0:00:00|||五|23465.5 |
C# |
SmGrid tbl = Proj.CurrentSmGrid; if (tbl == null) return; RowData dr = tbl.CurrentRowData; if (dr == null) return; // 先打印之前的行数据 Proj.MsgDebug.Add("之前的数据:{0}", string.Join("|", dr.BaseRow.ItemArray)); // 普通地克隆,除了自增长ID外都是一样的。 RowData drClone = dr.Clone(); // 打印克隆后的行数据 Proj.MsgDebug.Add("克隆的数据:{0}", string.Join("|", drClone.BaseRow.ItemArray)); List<string> lst = new List<string>(); lst.Add("订单号"); lst.Add("单价"); lst.Add("订单状态"); drClone = dr.Clone(lst); Proj.MsgDebug.Add("去除部分列克隆的数据:{0}", string.Join("|", drClone.BaseRow.ItemArray)); //返回结果:之前的数据:|9|9|产品05|客户01|业务员02|35.5|661|23465.5|2019-01-04 0:00:00|8|3|五|23465.5 //返回结果:克隆的数据:|9|-1|产品05|客户01|业务员02|35.5|661|23465.5|2019-01-04 0:00:00|8|3|五|23465.5 //返回结果:去除部分列克隆的数据:|9|-2|产品05|客户01|业务员02||661|23465.5|2019-01-04 0:00:00|||五|23465.5 |