日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

[转] C# TextBox、DataGrideView中的数据绑定

發布時間:2023/12/20 C# 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转] C# TextBox、DataGrideView中的数据绑定 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Xavierr?原文?C#數據綁定——簡單的文本框綁定、DataGridView

?

一、TextBox的數據綁定

經常寫用一個TextBox顯示某個對象,然后編輯之后再保存的程序。以前都是在TextBox_TextChanged事件中修改對象的值,或者保存的時候再讀取TextBox.Text屬性保存對象的值。這樣比較麻煩,而且經常容易出錯。后來了解了C#的數據綁定,發現能夠很好的解決這個問題。

1. 首先C#的TextBox本身就帶數據綁定功能。

下面的代碼就是把_myData對象的"TheValue"屬性綁定到textBox1和textBox2的"Text"屬性。最后一個參數不同:

1)其中DataSourceUpdateMode.OnPropertyChanged表示textBox1.Text發生變化,_myData.TheValue也變化,叫雙向綁定。

2)DataSourceUpdateMode.Never表示Text1.Text變化不影響_myData.TheValue的值,是單向綁定。

1 2 3 4 5 6 private?void?Form1_Load(object?sender, EventArgs e) { ????_myData =?new?MyData(); ????textBox1.DataBindings.Add("Text", _myData,?"TheValue",?false, DataSourceUpdateMode.OnPropertyChanged); ????textBox2.DataBindings.Add("Text", _myData,?"TheValue",?false, DataSourceUpdateMode.Never); }

?

2.也許有人留意到了,為什么上面的叫"雙向綁定"呢?如果_myData.TheValue的值變化了,兩個文本框的Text會變化嗎?不錯,僅在 textBox上數據綁定還不叫雙向綁定,對象數據變化要通知綁定該對象的控件才行。這樣就需要對象實現INotifyPropertyChanged接 口。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 public?class?MyData : INotifyPropertyChanged { ????private?string?_theValue =?string.Empty; ????public?string?TheValue ????{ ????????get?{?return?_theValue; } ????????set ????????{ ????????????if?(string.IsNullOrEmpty(value) && value == _theValue) ????????????????return; ????????????_theValue = value; ????????????NotifyPropertyChanged(() => TheValue); ????????} ????} ????public?event?PropertyChangedEventHandler PropertyChanged; ????public?void?NotifyPropertyChanged<T>(Expression<Func<T>> property) ????{ ????????if?(PropertyChanged ==?null) ????????????return; ????????var?memberExpression = property.Body?as?MemberExpression; ????????if?(memberExpression ==?null) ????????????return; ????????PropertyChanged.Invoke(this,?new?PropertyChangedEventArgs(memberExpression.Member.Name)); ????} }

?

3.好了,數據綁定完成了,看看效果吧。textBox1.Text變化—>_myData.TheValue變化—>textBox2.Text變化。反過來textBox2.Text變化就不是這樣了,因為textBox2使用的單向綁定。

?

二、DataGridView的數據綁定

沒什么可說的,DataGridView可以綁定DataSet,也可以綁定DataTable。直接設置DataSource屬性。

1 2 3 DataSet dataSet =?new?DataSet(); dataGridView1.DataSource = dataSet; dataGridView1.DataSource = dataSet.Tables[0];

?設置DataGridView的Column屬性就可以決定哪一列顯示的數據。

1 Column1.DataPropertyName =?"ID"

?

沒有整理與歸納的知識,一文不值!高度概括與梳理的知識,才是自己真正的知識與技能。 永遠不要讓自己的自由、好奇、充滿創造力的想法被現實的框架所束縛,讓創造力自由成長吧! 多花時間,關心他(她)人,正如別人所關心你的。理想的騰飛與實現,沒有別人的支持與幫助,是萬萬不能的。







本文轉自wenglabs博客園博客,原文鏈接:http://www.cnblogs.com/arxive/p/5814894.html,如需轉載請自行聯系原作者

總結

以上是生活随笔為你收集整理的[转] C# TextBox、DataGrideView中的数据绑定的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。