请问dbgrid上有delete或insert等操作时,序号栏位怎样重新排列 |
答題得分者是:小傑克
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
各位大大好:
比如,我在一张单据上有一个栏位是序号,按1,2,3,4,5.....次序排下去,现在我想在这个dbgrid上进行delete,insert等操作,那么,怎样才能让序号栏位继续保持顺序呢? 比如我在dbgrid上有五条资料,序号是1,2,3,4,5,现在我把第3条删除,那么,原来的第4第5条记录的序号能自动变成3,4. 又比如我新insert一条资料为4,那么以前的第4第5条资料的序号能变成5,6 ps: 我用的是mssql delphi7, 序号是一个int的栏位 |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
|
小傑克
資深會員 發表:5 回覆:209 積分:357 註冊:2009-02-16 發送簡訊給我 |
雖然會慢,但還是可以做
既然你有實體欄位,就直接下sql update 就可以啊 例如刪除第三筆, 就update > 3 的 資料 set [field] := [field] - 1 , 然後 re-query 相反新增就 1 想做的更user friendly 就幫user 記住bookmark, 在幫user 移動curse 就好 ****小心update查詢條件不要漏掉, 不要update 到整個table ****
------
額有朝天骨,眼中有靈光
編輯記錄
小傑克 重新編輯於 2009-07-30 18:54:13, 註解 無‧
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
谢谢小傑克大大,我明白了
再问一下,你举例子说比如删除第三笔,那么,既然被删除了,还能用bookmark吗?或者要用locate序号的方式来定位? ===================引 用 小傑克 文 章=================== 雖然會慢,但還是可以做 既然你有實體欄位,就直接下sql update 就可以啊 例如刪除第三筆, 就update > 3 的 資料 set [field] := [field] - 1 , 然後 re-query 相反新增就 1 想做的更user friendly 就幫user 記住bookmark, 在幫user 移動curse 就好 ****小心update查詢條件不要漏掉, 不要update 到整個table **** |
小傑克
資深會員 發表:5 回覆:209 積分:357 註冊:2009-02-16 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |