我創建它使用一個DataGridView創建和修改將在以後導入到系統的本地列表中的應用。它應該由用戶編輯(點擊並在DGV中編寫),並且還應該支持從csv導入,這意味着我需要DGV和數據源之間的雙向同步。的DataGridView缺少新的行空數據源
我已經設置DGV的DataSource到BindingList<Client>
這樣的:
//In my seperate Client class-file
public class Client
{
private string _name;
private string _mac;
private string _status;
public Client(string pcnavn, string MAC)
{
_pcnavn = pcnavn;
_mac = mac;
}
public string Name
{
get
{
return _name;
}
set
{
_name = value;
}
}
public string MAC
{
get
{
return _mac;
}
set
{
_mac = value;
}
}
public string Status
{
get
{
return _status;
}
set
{
_status = value;
}
}
}
//In my mainform class
public BindingList<Client> clientDataSource = new BindingList<Client>();
public MainForm()
{
InitializeComponent();
//clienDataGridView.AutoGenerateColumns = false; //The duplicate columns where fixed by setting DataPropertyName for all columns.
clientDataGridView.DataSource = clientDataSource;
}
有了這種方法,DGV產生,但它是空的(只有標題),因此用戶不能添加通過使用DGV進行排列。沒有DataSource,它會像SQL編輯器一樣顯示空白行,以便我可以在DGV中手動創建行。如何在鏈接到空數據源時顯示「新項目」-row?我發現的所有例子都使用非空數據源。
AllowUserToAddRows
和AllowUserToDeleteRows
設置爲true
。
此圖顯示了我的問題。使用數據源時,「第一行」丟失。通過輸入DGV來添加數據是不可能的。
很高興您找到解決方案。 – Kurubaran
謝謝,我在設計器中設置了de-bindingsource的AllowNew屬性,但仍然無法工作。直到我使用bindingSource的Datasource-property而不是datagridview本身的數據源屬性來綁定數據。這工作。 – Peter