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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于DataGridView的数据源绑定字符串两个值得注意的问题

發布時間:2025/3/21 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于DataGridView的数据源绑定字符串两个值得注意的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.
LINQ的查詢結果無法直接作為DataGridView的數據源


DataGridView的DataSource屬性為object類型,但并不意味著任何類型都可以作為DataGridView的數據源。DataGridView的數據源必須是實現以下接口的任意類型:


??? (1)IList 接口,包括一維數組。


??? (2)IListSource 接口,例如,DataTable和DataSet類。


??? (3)IBindingList 接口,例如,BindingList<T>類。


??? (4)IBindingListView 接口,例如,BindingSource類。


而LINQ查詢結果為IEnumerable<T>或IQueryable<T>類型,如果直接作為數據源綁定到DataGridView,將無法顯示任何內容。Enumerable類為IEnumerable<T>接口定義了一系列擴展方法,其中的ToList<T>方法可以將IEnumerable<T>轉換為List<T>。這樣,就可以綁定到DataGridView了。如

var names = from u in list select u.Name; dataGridView1.DataSource = names.ToList();


2.
字符串無法直接作為DataGridView的數據源


如果將List<string>綁定到DataGridView,往往會想當然的認為字符串會作為DataGridView的內容顯示。然而實際顯示的卻是字符串的長度,這是為什么呢?如

dataGridView1.DataSource = new List<string> { "just", "a", "test" };



DataGridView默認情況下會顯示所綁定對象的屬性,如綁定一個List<User>,User的Name、Age、Gender等屬性會作為Column的內容顯示出來。對于一個字符串來說,只有一個實例屬性Length,因此顯示的即為字符串的長度了。當然,如果有其他屬性存在,仍然會作為Column顯示出來。


要想使DataGridView顯示字符串集合,可以使用匿名類型將字符串進行包裝:

var test = new List<string> { "just", "a", "test" }; dataGridView1.DataSource = (from s in test select new { s }).ToList();





轉載于:https://www.cnblogs.com/zhangtao/archive/2011/03/02/1969295.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的关于DataGridView的数据源绑定字符串两个值得注意的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

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