討論區快速選單
知識庫快速選單
討論區最近新進100則主題 最紅的App開發語言:Kotlin
[ 回上頁 ] [ 討論區發言規則 ]
怎樣刪除 DataGridView 某一列對應的 DataRow
更改我的閱讀文章字型大小
作者 : alanchong(Alan)
[ 貼文 3 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2017/9/20 上午 10:25:14
各位好,真的搞不定,一定要請教。
我有一組由 DataGridView, BindingSouce 和 DataTable 串起來的組合,有一個刪除的按鈕。

例如一開始入資料表時有十筆資料,使用者點到第四筆,按剛除,BindingSource.Position 是 3,程式執行 DataTable.Rows[3].Delete(); 剩九筆資料, 使用者又點第四筆,BindingSource.Position 又是 3,程式又執行 DataTable.Rows[3].Delete();
這不對啦!因為 DataTable.Rows[3].Delete() 只會把 RowState 標示為 Deleted,DataRow 不會從 DataTable 中移除,也就是說這時候 DataTable.Rows.Count 仍然是十筆,索引值仍然是 0 到 9, 第二次報行 DataTable.Rows[3].Delete() 只會把第一次標示 Deleted 的那筆再一次標示為 Deleted,而不索引 4 的那一筆。
如果資料從載入後,已多次新增和刪除,怎樣從 DataGridView 選定的索引,找出對應的 DataTable.Rows 裡面的索引值?
我不能用 DataTable.AcceptChanges() 因為使用者可能會按放棄按鈕,我知道可以從 DataGridView 找出對應的 DataRow,但 DataRow 裡面沒有 GUID 欄,而其中的 AutoInc 欄位在新增時不會內容,沒有唯一值可以查出是 DataTable.Rows 的那一筆。
 板主 : 小朱
 > C# - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - C# - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
C#
1 小朱 6270 
2 蹂躪 2700 
3 HKLN.net 2440 
4 marlon 2130 
5 joe 1320 
6 識丁 910 
7 好說 860 
8 愛睏魚 770 
9 總幹事 720 
10 Demonbane 600 
C#
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.03125