【发布时间】:2015-11-05 11:29:00
【问题描述】:
我想在DataGridView 的每一行末尾添加一个删除按钮,然后单击该按钮,我想从绑定列表中删除所需的行,该绑定列表是我的网格的数据源。
但我似乎做不到我已经在产品类中创建了一个按钮对象并使用唯一 id 实例化它以从列表中删除该对象。但按钮未显示在行中。
表单中有文本框,用户可以输入文本,当他们按下添加按钮时,将使用提供的字段实例化一个新的产品对象,然后将其添加到BindingList。
最后,这个列表绑定到DataGridView,详细信息显示在网格中。 (我已经完成了这部分)。
最后通过点击保存按钮将列表保存在数据库中。
public class Product{
public string Brand { get; set; }
public int ProductPrice { get; set; }
public int Quantity { get; set; }
public product(string brand,int productPrice, int quantity){
this.Brand = brand;
this.ProductPrice = productPrice;
this.Quantity = quantity;
}
}
public partial class MainForm: Form{
.....
BindingList<Product> lProd = new BindingList<Product>();
private void btnAddProduct_Click(object sender, EventArgs e){
string Brand = txtProBrand.Text;
int Price = Convert.ToInt32(txtPrice.Text);
int Quantity = Convert.ToInt32(txtQuantity.Text);
Product pro = new Product(Brand, Price, Quantity);
lProd.Add(pro);
dataGridView1.DataSource = null;
dataGridView1.DataSource = lProd;
}
.....
}
【问题讨论】:
-
我想这个问题之前已经回答过了。 stackoverflow.com/questions/21191950/how-to-add-a-button-to-a-column-in-the-datagridview
-
我似乎无法在列表中执行此操作。我可以在数据表中添加一个按钮。如何在列表中做到这一点??
-
如果列表中您的意思是您的绑定列表,那么答案是您不想这样做:) 您的网格绑定到您的 T 绑定列表,并且列反映了您的对象中的属性键入 T,并且您不希望对象中有“删除”属性 - 这没有多大意义。将 datagridviwe 绑定到您的列表(像以前一样),然后手动添加一个带有删除按钮的列,就像这个答案所暗示的那样。
标签: c# .net winforms datagridview bindinglist