C# 编辑datagridview单元格不工作
我填充了我的datagridview,但是现在 我不能编辑我的数据 这是我的代码:C# 编辑datagridview单元格不工作,c#,data-binding,datagridview,C#,Data Binding,Datagridview,我填充了我的datagridview,但是现在 我不能编辑我的数据 这是我的代码: BindingSource b = new BindingSource(); string cus1 = getCustomers.getCustomersApi(); RootObject cus = JsonConvert.DeserializeObject<RootObject>(cus1); dataGridView2.Columns.Clear(); AddCheckBoxForData
BindingSource b = new BindingSource();
string cus1 = getCustomers.getCustomersApi();
RootObject cus = JsonConvert.DeserializeObject<RootObject>(cus1);
dataGridView2.Columns.Clear();
AddCheckBoxForDataGridViewCustomer();
// DataGridViewButtonColumn bc = new DataGridViewButtonColumn();
// dataGridView2.Columns.Add(bc);
var result = cus.Rows.Select(r => new
{
CustomerId = r.CustomerId,
Name = r.Name,
Code = r.Code,
Address = r.Address,
PostalCode = r.PostalCode,
City = r.City,
Country = r.Country.Name,
TaxNumber = r.TaxNumber,
}).ToList();
// dataGridView2.DataSource = result;
// dataGridView2.EditMode = DataGridViewEditMode.EditOnEnter;
b.DataSource = result;
dataGridView2.DataSource = b;
dataGridView2.ReadOnly = false;
有人能帮我吗?您正在将网格绑定到匿名类型的对象列表 但是匿名对象是不可变的 绑定工作正常,无法编辑单元格中的值 创建具有相同属性(而不是字段!)(
CustomerId
,Name
等)的类(比如CustomerGridModel
),并将网格绑定到列表
dbConnect.connection.Open();
adapter = new MySqlDataAdapter("select * from " + dbConnect.tableCustomer + "", dbConnect.connection);
ds = new System.Data.DataSet();
adapter.Fill(ds);
dataGridView2.DataSource = ds.Tables[0];
BindingSource b = new BindingSource();
string cus1 = getCustomers.getCustomersApi();
RootObject cus = JsonConvert.DeserializeObject<RootObject>(cus1);
dataGridView2.Columns.Clear();
AddCheckBoxForDataGridViewCustomer();
var result = cus.Rows.Select(r => new
CustomerGridModel
{
CustomerId = r.CustomerId,
Name = r.Name,
Code = r.Code,
Address = r.Address,
PostalCode = r.PostalCode,
City = r.City,
Country = r.Country.Name,
TaxNumber = r.TaxNumber,
}).ToList();
b.DataSource = result;
dataGridView2.DataSource = b;
dataGridView2.ReadOnly = false;
public class CustomerGridModel
{
public int CustomerId { get; set; }
public string Name { get; set; }
// etc
public string TaxNumber { get; set; }
}