[問題] DataGridView限制資料筆數?

看板C_Sharp (C#)作者 (經濟不景氣,好景不常在)時間12年前 (2013/07/31 23:55), 編輯推噓4(4027)
留言31則, 7人參與, 最新討論串1/1
對於DataGridView有兩個問題 我把DataGridView用成靜態(單純只是Show data) 我會從機器端(刷卡機)撈出刷卡紀錄(舉例) 問題一: 我想在我的Grid僅顯示最近的100筆,那我該怎麼做?? 我查了一下資料,DataGridView好像沒有限制多少列 問題二: DataGridView再加入資料時,有辦法從上方開始加入嗎?? 假設Grid只要顯示100,目前Grid已有50筆資料... 還有20筆資料須從刷卡機抓出來,而我希望最新撈的20筆資料 能夠放在Grid的前20筆,這樣有辦法做到嗎?? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 36.238.169.245

08/01 08:17, , 1F
用資料庫去限制不行嗎?
08/01 08:17, 1F

08/01 08:18, , 2F
從sql下手
08/01 08:18, 2F

08/01 08:19, , 3F
應該都是用資料庫去處理吧,Datagrid只是負責將資料秀
08/01 08:19, 3F

08/01 08:19, , 4F
出而已
08/01 08:19, 4F

08/01 08:57, , 5F
問題一:請從SQL 著手
08/01 08:57, 5F

08/01 08:58, , 6F
問題二:最新撈的是指?那紀錄是最新加入的嗎?
08/01 08:58, 6F

08/01 08:59, , 7F
如果是的話 你可以在撈的時候就做排序 你有存時間欄吧
08/01 08:59, 7F

08/01 09:00, , 8F
一種是 重新連資料庫再撈一次 另一種是在程式碼
08/01 09:00, 8F

08/01 09:00, , 9F
那邊做處理 那方法也不只一種 看你想怎麼做
08/01 09:00, 9F

08/01 11:05, , 10F
table.AcceptChanges(); table.Add();
08/01 11:05, 10F

08/01 11:06, , 11F
DataView v = new DataView(table); v.RowStateFilter = D
08/01 11:06, 11F

08/01 11:06, , 12F
DataViewRowState.Added;
08/01 11:06, 12F

08/01 21:53, , 13F
感謝各位前輩回復,那如果資料來源不是DB,那就不能從SQL
08/01 21:53, 13F

08/01 21:54, , 14F
下手,那還有其他方式嗎??
08/01 21:54, 14F

08/01 21:55, , 15F
以原文的例子是,假設我每天中午12點去刷卡機抓資料,並直
08/01 21:55, 15F

08/01 21:55, , 16F
接顯示在DataGrid,資料並無存入資料庫,那又如何處理?
08/01 21:55, 16F

08/01 23:37, , 17F
資料庫->sql下手(撈最新100筆)->丟到grid
08/01 23:37, 17F

08/01 23:38, , 18F
刷卡機->抓資料(找出最新100筆)->丟到grid
08/01 23:38, 18F

08/01 23:39, , 19F
概念一樣 不用care什麼資料來源
08/01 23:39, 19F

08/02 00:12, , 20F
soup前輩,刷卡機的廠商提供的lib不能做到這樣 = =..
08/02 00:12, 20F

08/02 00:12, , 21F
刷卡機撈過的資料不能再撈,每次撈資料刷卡機會有個flag
08/02 00:12, 21F

08/02 00:13, , 22F
紀錄上次抓到哪一筆...
08/02 00:13, 22F

08/02 00:14, , 23F
假設我這次刷卡機資料有1~20筆,那flag會記在第20筆
08/02 00:14, 23F

08/02 00:15, , 24F
下次就只能從第21筆開始撈...
08/02 00:15, 24F

08/02 08:53, , 25F
哦 那就利用datatable吧
08/02 08:53, 25F

08/02 10:11, , 26F
j=0; gview.Rows.Insert(j++,new DataGridViewRow());
08/02 10:11, 26F

08/02 22:43, , 27F
大家給你的建議就是 先整理好100筆 再丟到grid
08/02 22:43, 27F

08/02 22:44, , 28F
至於怎麼整理 是你要想辦法的地方
08/02 22:44, 28F

08/02 22:44, , 29F
刷卡機這次有150筆 你要抓最新100筆
08/02 22:44, 29F

08/02 22:45, , 30F
刷卡機這次只有20筆 你要補足剩下的80筆
08/02 22:45, 30F

08/03 08:14, , 31F
不是做這種通常都直接全部撈到資料庫以後再來做運算嗎
08/03 08:14, 31F
文章代碼(AID): #1H-JDjMX (C_Sharp)
文章代碼(AID): #1H-JDjMX (C_Sharp)