【问题标题】:Trigger formatting cells of DataGridView from the SelectedIndexChanged event of a combobox?从组合框的 SelectedIndexChanged 事件触发 DataGridView 的格式化单元格?
【发布时间】:2012-11-06 09:16:49
【问题描述】:

我正在执行以下请求。

  1. 用户在 ComboBox 中选择一个项目。
  2. SelectedIndexChanged 事件处理代码根据 ComboBox 的选定值格式化某些单元格。但是,它不起作用。

.

void Combobox1_OnSelectedIndexChanged(object sender, ...)
{
    foreach (DataGridViewRow row in GridView1.Rows)
    {
        var c = GridView1.Columns.Count;
        for (int i = 0; i < c; i++)
        {
            if (...some condition using selected value...) 
            {
                 row.Cells[i].Style.BackColor = Color.Green;
                 row.Cells[i].ToolTipText = "test";
            }
        }
    }

问题:是否应该将它添加到事件 CellFormatting、.. 事件中?但是,算法是依赖于组合框的SelectedIndexChanged的事件?

【问题讨论】:

  • 我已经测试了这段代码,它可以工作!使用选定值的条件可能有问题?

标签: c# winforms


【解决方案1】:
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

            var c = dataGridView1.Columns.Count;
             foreach (DataGridViewRow row in this.dataGridView1.Rows)
                {
                    if (comboBox1.SelectedValue==1){
                                row.Cells[0].Style.BackColor = Color.Green;
                                row.Cells[0].ToolTipText = "test";
                        }

            else
            {
                        row.Cells[0].Style.BackColor = Color.Blue;
                        row.Cells[0].ToolTipText = "test";
                }
            }
    }

Thanks

【讨论】:

  • 能否请您检查特定单元格是否存在于您要格式化的gridview 上?或者组合框的选定值有什么问题吗?只是为了澄清。因为这段代码对我有用。谢谢。
  • 我发现遗留程序有CellFormattingPrePainting等事件,它覆盖了样式。
  • 出于测试目的,在表单中拖动一个数据网格视图和组合框。用 2 个单元格初始化 datagridview。用测试项目初始化组合框。现在在 selectedindexchanged 事件上编写上面显示在事件大括号下的代码。让我们看看发生了什么。谢谢。
【解决方案2】:

一旦在 CellFormatting 事件中尝试这个..

Foreach 循环

   DataGridViewTextBoxCell txt = new DataGridViewTextBoxCell();
   txt.Value = row.Cells[i].Value
   txt.ToolTipText = "test";
   txt.BackColor = Color.Green;
   row.Cells[i] = txt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-16
    • 1970-01-01
    • 1970-01-01
    • 2011-11-28
    • 1970-01-01
    相关资源
    最近更新 更多