台灣最大程式設計社群網站
線上人數
1685
 
會員總數:241330
討論主題:186904
歡迎您免費加入會員
討論區列表 >> ASP.NET >> Gridview修改紀錄
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
Gridview修改紀錄
價值 : 50 QP  點閱數:139 回應數:7

樓主

J.Y
門外漢
0 58
954 87
發送站內信


請教我有一GRIDVIEW + linqdatasource

讀出的資料是機台各項零件

假如在gridview 修改(更換)某個零件

存檔確認前想把舊的零件資料與更換日寫一筆到另外的紀錄表

請問該如何處理步驟呢?有沒有可GOOGLE的

謝謝



搜尋相關Tags的文章: [ Gridview ] ,
本篇文章發表於2017-12-01 02:06
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

P陳
檢舉此回應
這不難,只是過程可以分很多段,有很多可能
可以先將你寫的放上來嗎?
或者告知您的想法,及目前那段卡到



本篇文章回覆於2017-12-01 07:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

J.Y
檢舉此回應
目前只有做好 GRIDVIEW + linqdatasource的 查詢 新增 修改功能
都是用精靈控制項處理的
再用QueryExtender作查詢





本篇文章回覆於2017-12-01 08:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

P陳
檢舉此回應
邏輯上如下:
1.當 gridview1 離開某筆資料時 判斷如果該筆是否有變動

2.有變動時則將該筆抄下 如無則不動作

3.加到 gridview2

4.gridview1 gridview2 存檔

您先作看看,那個動作卡住了我們再來討論

本篇文章回覆於2017-12-01 13:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
存檔確認前想把舊的零件資料與更換日寫一筆到另外的紀錄表

從您的描述來看
所以一次會維護的資料表,就不會是單一一個,而是多個

您描述您之前都是用精靈拉出來的,那麼,您可以想想,單一一個LINQ語法可以維護多資料表嗎?
如果不行,那麼,恭喜您,經驗值升級的機會來了

當然,您必須先開始學多資料表維護的撰寫方式(用LINQ to SQL,Entertity Framework或者ADO.NET)
然後,您可以開始學習改用『ObjectDataSource』
開始學習寫點程式,而不是只用精靈拉出來

有關ObjectDataSource的部分,建議您可以參考小喵以下的文章

ObjectDataSource簡介Part1:兼具ADO.NET的自由與DataSource的方便

撰寫一個類別
在類別中撰寫一個Function,裡面寫好兩個以上資料表維護如何撰寫

然後用ObjectDataSource去呼叫您的類別與類別中的Function
您想想看,做做看,有問題請提出唷

^_^
本篇文章回覆於2017-12-01 18:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

J.Y
檢舉此回應
喵版你好

大概看了的確很好用,一直也很想試試這種方式

不過我比較不了解是我需要在這之中怎麼去抓USER有沒有改其中的任一筆欄值

然後再寫到修改紀錄表裡

謝謝
本篇文章回覆於2017-12-05 17:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
不過我比較不了解是我需要在這之中怎麼去抓USER有沒有改其中的任一筆欄值
然後再寫到修改紀錄表裡


程式自己寫,當然就可以


如果您是想要知道是否有異動(有異動就算,不管是幾個欄位)
小喵可能會這樣做
取得要預定要修改的物件假設是ChgObj
透過ChgObj,取得資料主索引的內容,依據主索引內容,取得目前資料庫裡面的物件DBObj

是否有修改,比對兩個物件
如果只須知道是否一樣,那麼,將兩邊『序列化後,進行比對』

當然,也可以逐一欄位去比對,不過這樣不會比較快
參考這一篇

https://dotblogs.com.tw/yc421206/archive/2012/12/17/85732.aspx

^_^
本篇文章回覆於2017-12-05 18:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

P陳
檢舉此回應
有一個
IsCurrentRowDirty 可以得知 datagridviewrow 的Currentrow 是否有被修改

用 each rowstatus 可以得知每一筆是否有被修改

就像喵版主講的 【經驗值升級的機會來了】加油


本篇文章回覆於2017-12-05 20:56
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

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