作者magic704226 (洨鲁)
标题Re: [问题] 修改DataTable某列资料
时间Thu Feb 12 09:28:18 2015
我是用方法二
方法一大量蒐寻效能一定不好
而且你如果用 For Loop寻访
你也在找到时,break一下
建议方法二就对了
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 39.9.150.132
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1423704500.A.450.html
1F:推 srxrrr: 阿! 对吼 方法1忘了break 囧 02/12 09:32
2F:→ srxrrr: 但方法2 我不知道该如何取获得的RowIndex耶... 02/12 09:33
3F:推 srxrrr: 谢谢您的回覆:D 02/12 09:39
如果是我的话
New一个DataTable (mDataTable)
mDataTable.Columns.Add <---- 第一个栏位用id (loop值),後面用原本column名称
把你原本资料加入Table
之後 Select 就能顺便Get id(你要的index)
※ 编辑: magic704226 (39.9.150.132), 02/12/2015 10:32:26
4F:推 Ammenze: 方法2不需要获得RowIndex,用select取得的是row阵列 02/12 11:09
5F:→ Ammenze: 把抓出来的阵列for each取代内容(可能有多个row符合条件) 02/12 11:10
6F:→ Ammenze: 最後再下Datatable.AcceptChanges即可 02/12 11:12
7F:推 Ammenze: 如果是要依照好几个条件筛选时,方法一效能会比方法二好 02/12 11:25
我猜原PO要的是原始的index,不是选後的
※ 编辑: magic704226 (39.9.150.132), 02/12/2015 12:41:44
8F:推 srxrrr: 谢谢原PO及Ammenze大的回覆! 02/12 14:08
9F:推 srxrrr: 我了解了原PO的方法^_^!! 02/12 14:12
10F:→ srxrrr: 请问Ammenze大的方法 要如何透过foreach来取代内容呢? 02/12 14:13
11F:→ srxrrr: 我的情况下 在搜寻的该column不会有重复的字串 02/12 14:15
12F:→ soup514: 直接改select出的datarow[]啊 02/14 22:12
13F:→ soup514: foreach datarow r in datarow[] 02/14 22:13
14F:→ soup514: r[1] = "xxxx".... 02/14 22:14
15F:推 srxrrr: 谢谢楼上解答!! 我会试试看!! 02/25 13:36
16F:→ nfsong: 我有相同疑问 select 出来是shallow copy? 可以直接改? 03/19 01:17