台灣最大程式設計社群網站
線上人數
1627
 
會員總數:246056
討論主題:189637
歡迎您免費加入會員
討論區列表 >> VB.NET >> 在某個Sub函式中設值判斷GridView指定列的index以及迴圈判斷前後筆資料間的關係
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
在某個Sub函式中設值判斷GridView指定列的index以及迴圈判斷前後筆資料間的關係
價值 : 150 QP  點閱數:369 回應數:4
樓主

Wiz
門外漢
0 9
183 31
發送站內信

各位前輩好,想請教一下,因為板上找到的相關文章都是在RowCommand或RowDeleting、RowDataBound等等事件設值抓index,
我在GridView的每個列後面都放了修改按鈕(不是用內建Template新增的),按了之後會判斷RowCommand,
然後用隱藏顯示Panel的Visible來做到在同一支程式中切換頁面的效果,
按了修改按鈕會到修改頁面並且把這筆(列)的資料顯示在TextBox上,
然後按下修改頁面的修改就會Update資料表的資料,
但寫入Sql語法的程式我是寫在一個Sub Updata()函式,
然後在用Button Click事件去執行
我想要抓GridView中這筆(列)資料的Rowindex,
然後用來抓主鍵值來更新資料(Where NID = '"& GridView1.Rows(i).Cells(0).Text &"')
但不知道怎麼在Sub Updata()中去設i來抓index
所以想請教一下各位前輩們

另外,
還有個問題是,
今天我要新增或修改某一筆資料
這資料會依據新增日期來影響前一筆或者後一筆中的日期,
EX.
第一筆資料 起始日期為2017年6月 結束日期為2017年8月
第二筆資料 起始日期為2018年1月 結束日期為2018年5月

我要新增一筆 起始日期為2017年7月結束日期為2018年2月的資料

變成這筆資料會介於第一筆和筆二筆之間
第一筆資料的 起始日期不會動 而結束日期會被改為 2017年6月(被新增的那筆資料重疊所以日期回推一個月)
而第二筆資料的 起始日期會變成 2018年3月 (新增的資料的結束日期影響(重疊)到,所以會由2月往後推一個月) 結束日期不動這樣子

但不知道怎麼去下這個判斷,
還麻煩各位前輩指點迷津,謝謝!




搜尋相關Tags的文章: [ GridView ] , [ Rowindex ] , [ VB.NET ] ,
本篇文章發表於2020-01-03 11:43
1樓
作者回應

Wiz
檢舉此回應
後來發現如果在跟GridView沒有關聯的Panel應該是沒辦法去抓當下那筆資料的index,
所以多新增一個隱藏的label來放NID,在RowCommand事件的時候把Text寫入修改分頁(Panel)的新增Label裡
在用Where NID = ' " & Label.Text & " ' 就解決了!!

目前剩下的問題是上面另外提到的,
判斷前後筆資料日期關聯的問題
本篇文章回覆於2020-01-03 13:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
不錯的參考

P陳
檢舉此回應
201706~201802 要修改前後,所以要分二查詢來作
之前的
select * from table1 where 結束日期 > 201707 and 起始日期 < 201802
如果有 取得資料 要改前一筆的結束

之後的
select * from table1 where 結束日期 > 201802 and 起始日期 < 201706
如果有 取得資料 要改後一筆的開始
本篇文章回覆於2020-01-03 14:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

Wiz
檢舉此回應
P陳大大好,
看了您的解答後大概有一個概念了,
但是我知道怎麼取得有沒有資料,
卻不知道怎麼去抓指定的資料來改,

目前大概是這樣


但是不知道怎麼抓那筆資料
就是他的Where怎麼下這樣子
本篇文章回覆於2020-01-06 09:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
最有價值解答

P陳
檢舉此回應
結束年 >= '2017' AND 結束月 >= '5' <---- 這樣寫會出問題
2017年10月算不算呢? '201710' 是 小於 '20175' 的哦


sqlstr=" Update Table1 set 開始年='2017',開始月='5' where 識別碼 ='12345' "
執行 Sqlstr
本篇文章回覆於2020-01-07 23:08
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.