C#中DataGridView控件加載數據無法顯示

首先,我原計劃是查詢工作日誌表中的數據,並將其反應在datagridview控件上,

部分代碼如下

dataGVWorklog.AutoGenerateColumns = false;//禁止datagridview自動加載列
IDate iWorklogDate = AbstractFactory.Factory.CreateConcreteClass("ConcreteDAL", "DAL", "t_worklog");
List<dynamic> lists =iWorklogDate.Date(dateTPBegin.Value, dateTPEnd.Value, txtName.Text);//調取查詢方法
dataGVWorklog.DataSource = lists;

通過查詢語句,查到了數據,list集合中有數據,但是顯示卻如下:
【通過查看數據庫,應該查到2條數據】
在這裏插入圖片描述
查看資料,瀏覽博客,經過了一上午全無頭緒,後來發現註釋掉下面這行,會顯示數據。

dataGVWorklog.AutoGenerateColumns = false;//禁止datagridview自動加載列

顯示如下:
在這裏插入圖片描述
隨後我在這個控件的操作中發現了玄機(具體操作如下)
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

究其原因
歸根結底是沒有將查詢到的數值放到相對應的列中去,所以第一次嘗試中,我把禁止自動加載列這行代碼註釋後,就顯示了數據內容,所以確定了,代碼沒有問題,是可以正常顯示數據內容的,這時候就考慮一下控件的設置,在控件編輯列的設置中,有一項DataPropertyName,是建立查詢到的數據列與控件中自定義的數據列之間的聯繫的,填寫數據源的屬性名稱,就可以將屬性名稱對應的字段值插入到相應的位置中。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章