Я заполнил сетку данных, используя следующий метод, и добавил столбец кнопки:
private void populatedatagridview()
{
categorieslist();
productgridview.RowTemplate.Height = 130;
var productsbycount = axe.products.GroupBy(x => x.product_Id).Select(a => new
{
productid = a.Key,
productnam = a.FirstOrDefault().product_Name,
productimage = a.FirstOrDefault().product_Image,
productdescr = a.FirstOrDefault().product_Description,
stockavailable = a.LongCount(),
productprice = a.FirstOrDefault().product_Price
});
productbindingsource.DataSource = productsbycount;
productgridview.DataSource = productbindingsource;
DataGridViewButtonColumn column = new DataGridViewButtonColumn();
productgridview.Columns.Add(column);
column.FlatStyle = FlatStyle.System;
column.DefaultCellStyle.ForeColor = Color.ForestGreen;
column.DefaultCellStyle.Padding = new Padding(10,48,10,48);
column.Text = "Buy";
column.HeaderText = "Buy";
column.UseColumnTextForButtonValue = true;
column.Name = "btnbuy";
productgridview.Columns[0].Visible = false;
for (int i = 0 ; i < productgridview.Columns.Count; i++)
if (productgridview.Columns[i] is DataGridViewImageColumn)
{
((DataGridViewImageColumn)productgridview.Columns[i]).ImageLayout = DataGridViewImageCellLayout.Stretch;
break;
}
}
Моя проблема заключается в том, что всякий раз, когда я вызываю эту функцию, в представлении таблицы данных добавляется еще один столбец кнопок, поэтому автоматически увеличивается количество столбцов кнопок.
И у меня есть поле со списком, я хочу заполнить представление таблицы данных, зависит от текста поля со списком. В то же время я также должен вызвать эту функцию.
К сожалению, он автоматически добавляет столбец кнопки снова и снова при каждом вызове этой функции. Кто-нибудь, пожалуйста, помогите в этом?