作者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