作者magic704226 (洨魯)
標題Re: [問題] 修改DataTable某列資料
時間Thu Feb 12 09:28:18 2015
我是用方法二
方法一大量蒐尋效能一定不好
而且你如果用 For Loop尋訪
你也在找到時,break一下
建議方法二就對了
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.9.150.132
※ 文章網址: https://webptt.com/m.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