c#datagirdview ,用DataSource 方式賦值,然後更新出問題問題

來源:互聯網
上載者:User

標籤:c#   綁定   委託   問題   傳遞   控制項   ima   文章   尋找   

先說一下程式

主表單  ,兩個子表單A,B。嵌入主表單的Panel裡邊

主表單,啟動類C裡邊的尋找方法,查到的值,通過事件委託送到表單A

C類裡同時修改查詢表,把修改的查詢表通過事件委託發送給表單B,

程式運行第一遍,步驟,主表單查詢,A,B表單都能正常顯示。

第二遍,A表單正常顯示,B表單不能正常顯示。內容沒有更新

AB表單內是datagridview控制項

個人認為第二次失敗原因是B表單是由C類驅動的事件傳遞的,C類跟主表單非一個類倒是,內容更新了而datagridview沒有更新,本來datagridview通過DataSource 資料來源綁定的方式更新,由於資料來源綁定,修改後資料來源,重新賦值就有不更新的情況存在,在網上也有相關文章,至於A

表單第二遍為什麼成功,可能是主表單直接驅動的吧。具體原因我解釋不清楚。

問題就出在datagridview更新上,通過datagridview.Rows.clear();提示資料來源綁定的方式賦值,是沒法通過行情空刪除的,於是我在B表單下邊的類裡就用了datagridview=null;然後再datasource=新的資料來源。結果問題解決,

至於A為什麼不用null更新成功呢?現在還是有些不明白,難道跟主表單 的更新機制有關聯嗎? 期待大家給個看法

 

又看了一下B表單內的datagridview 列表的屬性第一次顯示正常,第二次有不對應的情況

第一次查詢的表

第二次查詢的表

B表的屬性在第二次的時候“已掃數量”變為“數量”,這個數量是繫結資料源的數量

B的datagridview  第二例數量的屬性

難道是這裡不對應的問題?

把上邊的兩者統一起來,不 對B列表賦值NULL。結果還是不能更新。應該是與主表單的更新機制有關吧

c#datagirdview ,用DataSource 方式賦值,然後更新出問題問題

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.