簡體   English   中英

使用LINQ to SQL和DataGridView

[英]Working with LINQ to SQL and DataGridView

我有一個使用LINQ-to-SQL作為數據源的應用程序。 我目前正在研究一些擴展功能,用於從數據庫中檢索記錄,我想在DataGridView組件中正確顯示這些記錄。 我已經有顯示的記錄,但是它們的顯示方式存在兩個問題。 特別:

  1. 列名與數據庫中的列名相同。 我想從用戶那里抽象出來,因為他們所做的只是選擇要加載到應用程序中的記錄。 當您在DataGridView中顯示列名稱時,是否可以使用LINQ-to-SQL為列名稱加上別名?
  2. DataGridView的每一行中都顯示許多不必要的列。 具體來說,我從“標識符”表中選擇一條記錄,該表與其他各種表都有關系,並且這些表在記錄視圖中顯示為對象。 有沒有一種方法可以從DataGridView中省略某些列?

我希望有人能給我任何幫助。

如果您在WPF上,請使用datagrid和datatemplate

https://wpftutorial.net/DataGrid.html

您可以將AutoGenerateColumns屬性值設置為false ,這將防止從數據源生成列。 然后將所需的列添加到DataGridView ,然后將該列的DataPropertyName屬性設置為數據源的列名(例如,如果其DataTable對象-設置DataTable列名[您要顯示]),例如:

dataGridView1.AutoGenerateColumns = false;

dataGridView1.Columns.Add("Col1", "Column1");
dataGridView1.Columns.Add("Col2", "Column2");
dataGridView1.Columns.Add("Col3", "Column2");
.  .  . 

dataGridView1.Columns["Col1"].DataPropertyName = "Col1NameFromSource";
dataGridView1.Columns["Col2"].DataPropertyName = "Col2NameFromSource";
dataGridView1.Columns["Col3"].DataPropertyName = "Col3NameFromSource";
.  .  .

然后將您的源綁定到DataGridviewDataSource

DataTable table = /*Your "LINQ-to-SQL" query;*/
dataGridView1.DataSource = table;

假設您的table包含Col1NameFromSourceCol2NameFromSourceCol3NameFromSource

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM