全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1484
推到 Plurk!
推到 Facebook!

ListView Delete 的問題

缺席
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2017-03-18 10:40:29 IP:118.169.xxx.xxx 未訂閱
請問各位:

ListView 以 LiveBinding 連結一組 FireDac 資料庫(後端以 FDTable 型式操作), 在 Android 模式下
當 LIstView 以左右滑動, 會自動顯示一個 Delete button, 按下去可以刪除一項 ListView Item
因為有透過 LiveBinding 連資料庫, 但這個動作並不會同步去刪除後端的 Record,
所以我在 ListView Event 中的 OnDeleteItem 寫 FDTable1.Delete 才能達成同步

這個問題已存在很久, 如果ListView 是在最後一項item做這個動作就會造成app crash 及閃退(出現的是 argument out of range)
不知這部份該如何處理才能不閃退!
pcplayer99
尊榮會員


發表:146
回覆:790
積分:632
註冊:2003-01-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2017-03-18 12:57:42 IP:183.239.xxx.xxx 未訂閱
请问如果用 visual binding 的话,可以拉双向的箭头吗?
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2017-03-20 12:51:28 IP:59.120.xxx.xxx 未訂閱
如果我沒記錯, 依據我使用的經驗,  ListView 只能單向傳送(由DataSet 傳給  ListView),   如果要雙向, 必須透過  TEdit 元件
或者改用 TListBox TEdit 也可以
===================引 用 pcplayer99 文 章===================
请问如果用 visual binding 的话,可以拉双向的箭头吗?
pcplayer99
尊榮會員


發表:146
回覆:790
積分:632
註冊:2003-01-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2017-03-21 11:44:27 IP:183.239.xxx.xxx 未訂閱
如果是单向的,那你只能去删除 DataSet。也即是你不能去做类似 ListView.Items.Delete 的操作,而只需要做 DataSet.Delete 的操作,然后 ListView 应该会自动刷新,看起来就是少了一条 ListView Item。
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2017-03-21 23:45:20 IP:118.169.xxx.xxx 未訂閱
因為 ListView 刪除不會刪 DataSet, 我目前就是使用 DataSet 的刪除(Delete), 我所提的問題是在如果是 ListView 最後一個Item做刪除就會引發上面的錯誤, 這是 ListView 刪除 Item, 然後我又刪除 DataSet 最後一筆, 這兩個元件產生了 Index 刷新的問題, 但我又不知道該如何解決?
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#6 引用回覆 回覆 發表時間:2017-03-29 11:08:55 IP:118.160.xxx.xxx 未訂閱
經過這些日子的研究, 發現 Listivew內建的AutoSwipeDelete的功能雖然很酷, 但有一個很大的問題就是, 如果我的Itemindex 目前是在第3筆時, 如果我在第5筆做 swipe(滑動), 其實 index 還是在 3, 除非你先做 ItemClick(就是先點到第5筆, 再swipe), 若是再加入 LiveBiding 的連結, 結果 Delete 會不知道應該要對應到後端資料庫那裡, 所以刪除是亂七八糟, 或許是我對ListView研究不透徹的原故, 也沒有那麼多時間可以做"學術性研究", 所以我放棄了這種功能, 改用 Button方式來執行以及用 ListView CheckBox 方式, 還比較穩定一些!
系統時間:2024-11-21 20:37:35
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!