c# - DataGridView 中不同行的不同 ComboBox 值

标签 c# datagridview combobox

    private void dgv_CellEndEdit(object sender, DataGridViewCellEventArgs e)
    {
        int MaxRows = dgv.Rows.Count;

        for (int i = 0; i < MaxRows-1; i++)
        {                
            SqlDataAdapter da = new SqlDataAdapter("SELECT CAST(originalPrice * " + (1.00 + (float.Parse(txtMarkUp.Text) / 100.00)).ToString() + " * " + (1.00 + (float.Parse(dgv.Rows[i].Cells[4].Value.ToString()) / 100.00)).ToString() + " AS decimal (8,2)) AS sellingPrice FROM Warehouse WHERE barcode = '" + Convert.ToString(dgv.Rows[i].Cells[2].Value) + "'", conn);
            DataTable dt = new DataTable();
            da.Fill(dt);

            DataGridViewComboBoxColumn sellingPrice = dgv.Columns["sellingPrice"] as DataGridViewComboBoxColumn;

            sellingPrice.DataSource = dt;
            sellingPrice.ValueMember = "sellingPrice";
            sellingPrice.DisplayMember = "sellingPrice";

            dgv.Rows[i].Cells[5].Value = dt.Rows[0].ItemArray.GetValue(0);
            dgv.Rows[i].Cells[4].Value = dt.Rows[0].ItemArray.GetValue(2).ToString(); //percent of tax for that category of product
        }
    }

此代码运行良好,但仅适用于组合框中的一个值...我需要组合框不同行中的不同值。我怎样才能做到这一点? 例如,当第 2 列中的产品发生变化时,我需要它来更改第 5 列的值,这是带有销售价格的组合框。 任何帮助将不胜感激,我几乎没有解决方案。谢谢。

最佳答案

假设您想为组合框列按行绑定(bind)不同的值,我不确定您想要什么 在那种情况下,如果您可以明智地确定条件,请使用此

(dgv.Rows[i].Cells[5] as DataGridViewComboBoxCell).DataSource = dt;
(dgv.Rows[i].Cells[5] as DataGridViewComboBoxCell).ValueMember = "sellingPrice";
(dgv.Rows[i].Cells[5] as DataGridViewComboBoxCell).DisplayMember = "sellingPrice";

这将为该特定单元格而不是您当前正在执行的列设置数据源。

希望这对您有所帮助。

关于c# - DataGridView 中不同行的不同 ComboBox 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5855946/

相关文章:

c# - 您可以将 Microsoft.AspNet.SignalR.Client 与 .NET Core (dnxcore) 一起使用吗

c# - Compact Framework 上的 C# 数据绑定(bind)列表

c# - 如何将 Combobox 绑定(bind)到 ReactiveUI 中的命令?

c# - 在 Windows 窗体中创建带圆角的自定义 ComboBox

c# - 在jquery中设置对话框文本

c# - 如何将参数传递给 Entity Framework 中的 DbSet.SqlQuery 方法

c# - 如何在 C# 中更改复选框值时计算 DataGridView 中选中的复选框?

c# - 从 DataGridView 中的自定义编辑控件引发 CellValueChanged

c# - 单击时部分选择 DataGridView 单元格的文本

c# - 使用 MVVM 在组合框中设置默认值