作者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
→ henry10423:用資料庫去限制不行嗎? 08/01 08:17
推 g66932007:從sql下手 08/01 08:18
→ henry10423:應該都是用資料庫去處理吧,Datagrid只是負責將資料秀 08/01 08:19
→ henry10423:出而已 08/01 08:19
推 qwer820404:問題一:請從SQL 著手 08/01 08:57
→ qwer820404:問題二:最新撈的是指?那紀錄是最新加入的嗎? 08/01 08:58
→ qwer820404:如果是的話 你可以在撈的時候就做排序 你有存時間欄吧 08/01 08:59
→ qwer820404:一種是 重新連資料庫再撈一次 另一種是在程式碼 08/01 09:00
→ qwer820404:那邊做處理 那方法也不只一種 看你想怎麼做 08/01 09:00
推 ideaup: table.AcceptChanges(); table.Add(); 08/01 11:05
→ ideaup: DataView v = new DataView(table); v.RowStateFilter = D 08/01 11:06
→ ideaup:DataViewRowState.Added; 08/01 11:06
→ KSmart:感謝各位前輩回復,那如果資料來源不是DB,那就不能從SQL 08/01 21:53
→ KSmart:下手,那還有其他方式嗎?? 08/01 21:54
→ KSmart:以原文的例子是,假設我每天中午12點去刷卡機抓資料,並直 08/01 21:55
→ KSmart:接顯示在DataGrid,資料並無存入資料庫,那又如何處理? 08/01 21:55
→ soup514:資料庫->sql下手(撈最新100筆)->丟到grid 08/01 23:37
→ soup514:刷卡機->抓資料(找出最新100筆)->丟到grid 08/01 23:38
→ soup514:概念一樣 不用care什麼資料來源 08/01 23:39
→ KSmart:soup前輩,刷卡機的廠商提供的lib不能做到這樣 = =.. 08/02 00:12
→ KSmart:刷卡機撈過的資料不能再撈,每次撈資料刷卡機會有個flag 08/02 00:12
→ KSmart:紀錄上次抓到哪一筆... 08/02 00:13
→ KSmart:假設我這次刷卡機資料有1~20筆,那flag會記在第20筆 08/02 00:14
→ KSmart:下次就只能從第21筆開始撈... 08/02 00:15
推 qwer820404:哦 那就利用datatable吧 08/02 08:53
→ ideaup:j=0; gview.Rows.Insert(j++,new DataGridViewRow()); 08/02 10:11
→ soup514:大家給你的建議就是 先整理好100筆 再丟到grid 08/02 22:43
→ soup514:至於怎麼整理 是你要想辦法的地方 08/02 22:44
→ soup514:刷卡機這次有150筆 你要抓最新100筆 08/02 22:44
→ soup514:刷卡機這次只有20筆 你要補足剩下的80筆 08/02 22:45
→ f1234518456:不是做這種通常都直接全部撈到資料庫以後再來做運算嗎 08/03 08:14