Clone克隆行.將當(dāng)前行完全復(fù)制一份并新增到DataTableHelp中,并將復(fù)制行返回。默認(rèn)情況下自增長(zhǎng)ID列是不會(huì)一起復(fù)制的,這個(gè)會(huì)根據(jù)規(guī)則自動(dòng)生成,防止強(qiáng)制賦值引起沖突。
參數(shù)名稱 | 說(shuō)明 |
donotCloneCols | 字符串集合類型,可選參數(shù)。不想克隆的列,如果不添加表示要克隆所有列。如果添加了,則添加的列不會(huì)被復(fù)制,在一些有沖突的場(chǎng)景下,此參數(shù)非常有用。 |
示例:
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 '先打印之前的行數(shù)據(jù) Proj.MsgDebug.Add("之前的數(shù)據(jù):{0}",String.Join("|", dr.BaseRow.ItemArray)) '普通地克隆,除了自增長(zhǎng)ID外都是一樣的。 Dim drClone As RowData=dr.Clone() '打印克隆后的行數(shù)據(jù) Proj.MsgDebug.Add("克隆的數(shù)據(jù):{0}",String.Join("|", drClone.BaseRow.ItemArray)) Dim lst As New List(Of String) lst.Add("訂單號(hào)") lst.Add("單價(jià)") lst.Add("訂單狀態(tài)") drClone=dr.Clone(lst) Proj.MsgDebug.Add("去除部分列克隆的數(shù)據(jù):{0}",String.Join("|", drClone.BaseRow.ItemArray)) '返回結(jié)果:之前的數(shù)據(jù):|9|9|產(chǎn)品05|客戶01|業(yè)務(wù)員02|35.5|661|23465.5|2019-01-04 0:00:00|8|3|五|23465.5 '返回結(jié)果:克隆的數(shù)據(jù):|9|-1|產(chǎn)品05|客戶01|業(yè)務(wù)員02|35.5|661|23465.5|2019-01-04 0:00:00|8|3|五|23465.5 '返回結(jié)果:去除部分列克隆的數(shù)據(jù):|9|-2|產(chǎn)品05|客戶01|業(yè)務(wù)員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; // 先打印之前的行數(shù)據(jù) Proj.MsgDebug.Add("之前的數(shù)據(jù):{0}", string.Join("|", dr.BaseRow.ItemArray)); // 普通地克隆,除了自增長(zhǎng)ID外都是一樣的。 RowData drClone = dr.Clone(); // 打印克隆后的行數(shù)據(jù) Proj.MsgDebug.Add("克隆的數(shù)據(jù):{0}", string.Join("|", drClone.BaseRow.ItemArray)); List<string> lst = new List<string>(); lst.Add("訂單號(hào)"); lst.Add("單價(jià)"); lst.Add("訂單狀態(tài)"); drClone = dr.Clone(lst); Proj.MsgDebug.Add("去除部分列克隆的數(shù)據(jù):{0}", string.Join("|", drClone.BaseRow.ItemArray)); //返回結(jié)果:之前的數(shù)據(jù):|9|9|產(chǎn)品05|客戶01|業(yè)務(wù)員02|35.5|661|23465.5|2019-01-04 0:00:00|8|3|五|23465.5 //返回結(jié)果:克隆的數(shù)據(jù):|9|-1|產(chǎn)品05|客戶01|業(yè)務(wù)員02|35.5|661|23465.5|2019-01-04 0:00:00|8|3|五|23465.5 //返回結(jié)果:去除部分列克隆的數(shù)據(jù):|9|-2|產(chǎn)品05|客戶01|業(yè)務(wù)員02||661|23465.5|2019-01-04 0:00:00|||五|23465.5 |