DataGridView綁定Linq查詢結果,表格結構顯示但數據只有選中行可見,未選中行空白。
dataGridView1.AutoGenerateColumns = true(默認)。若為false需手動定義列。List<T>或BindingList<T>,而非IQueryable(需.ToList()實例化)。public get/set屬性,字段直接綁定無效。ReadOnly、Visible、DefaultCellStyle(如前景色=背景色導致不可見)。DataContext過早Dispose導致延遲加載失敗 → 在綁定前調用.ToList()斷開上下文。using (var db = new MyDataContext()) {
var list = db.Users.Select(u => new { u.Id, u.Name }).ToList(); // 關鍵:ToList()
dataGridView1.DataSource = list;
dataGridView1.AutoGenerateColumns = true;
}
list實際內容是否為空。dataGridView1.Rows.Count與Columns.Count。CellFormatting事件是否誤設置e.Value = null。