作者KSmart (經濟不景氣,好景不常在)
看板C_Sharp
標題[問題] DataGridView限制資料筆數?
時間Wed Jul 31 23:55:22 2013
對於DataGridView有兩個問題
我把DataGridView用成靜態(單純只是Show data)
我會從機器端(刷卡機)撈出刷卡紀錄(舉例)
問題一:
我想在我的Grid僅顯示最近的100筆,那我該怎麼做??
我查了一下資料,DataGridView好像沒有限制多少列
問題二:
DataGridView再加入資料時,有辦法從上方開始加入嗎??
假設Grid只要顯示100,目前Grid已有50筆資料...
還有20筆資料須從刷卡機抓出來,而我希望最新撈的20筆資料
能夠放在Grid的前20筆,這樣有辦法做到嗎??
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 36.238.169.245
1F:→ henry10423:用資料庫去限制不行嗎? 08/01 08:17
2F:推 g66932007:從sql下手 08/01 08:18
3F:→ henry10423:應該都是用資料庫去處理吧,Datagrid只是負責將資料秀 08/01 08:19
4F:→ henry10423:出而已 08/01 08:19
5F:推 qwer820404:問題一:請從SQL 著手 08/01 08:57
6F:→ qwer820404:問題二:最新撈的是指?那紀錄是最新加入的嗎? 08/01 08:58
7F:→ qwer820404:如果是的話 你可以在撈的時候就做排序 你有存時間欄吧 08/01 08:59
8F:→ qwer820404:一種是 重新連資料庫再撈一次 另一種是在程式碼 08/01 09:00
9F:→ qwer820404:那邊做處理 那方法也不只一種 看你想怎麼做 08/01 09:00
10F:推 ideaup: table.AcceptChanges(); table.Add(); 08/01 11:05
11F:→ ideaup: DataView v = new DataView(table); v.RowStateFilter = D 08/01 11:06
12F:→ ideaup:DataViewRowState.Added; 08/01 11:06
13F:→ KSmart:感謝各位前輩回復,那如果資料來源不是DB,那就不能從SQL 08/01 21:53
14F:→ KSmart:下手,那還有其他方式嗎?? 08/01 21:54
15F:→ KSmart:以原文的例子是,假設我每天中午12點去刷卡機抓資料,並直 08/01 21:55
16F:→ KSmart:接顯示在DataGrid,資料並無存入資料庫,那又如何處理? 08/01 21:55
17F:→ soup514:資料庫->sql下手(撈最新100筆)->丟到grid 08/01 23:37
18F:→ soup514:刷卡機->抓資料(找出最新100筆)->丟到grid 08/01 23:38
19F:→ soup514:概念一樣 不用care什麼資料來源 08/01 23:39
20F:→ KSmart:soup前輩,刷卡機的廠商提供的lib不能做到這樣 = =.. 08/02 00:12
21F:→ KSmart:刷卡機撈過的資料不能再撈,每次撈資料刷卡機會有個flag 08/02 00:12
22F:→ KSmart:紀錄上次抓到哪一筆... 08/02 00:13
23F:→ KSmart:假設我這次刷卡機資料有1~20筆,那flag會記在第20筆 08/02 00:14
24F:→ KSmart:下次就只能從第21筆開始撈... 08/02 00:15
25F:推 qwer820404:哦 那就利用datatable吧 08/02 08:53
26F:→ ideaup:j=0; gview.Rows.Insert(j++,new DataGridViewRow()); 08/02 10:11
27F:→ soup514:大家給你的建議就是 先整理好100筆 再丟到grid 08/02 22:43
28F:→ soup514:至於怎麼整理 是你要想辦法的地方 08/02 22:44
29F:→ soup514:刷卡機這次有150筆 你要抓最新100筆 08/02 22:44
30F:→ soup514:刷卡機這次只有20筆 你要補足剩下的80筆 08/02 22:45
31F:→ f1234518456:不是做這種通常都直接全部撈到資料庫以後再來做運算嗎 08/03 08:14