【问题标题】:datagridview all cell values pass to labeldatagridview 所有单元格值都传递给标签
【发布时间】:2014-11-01 06:44:26
【问题描述】:

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
               if (e.RowIndex < 0 || e.ColumnIndex < 0)
                    return;

                string id, name, price, desc, quan;
                id = dgvWarp.Rows[e.RowIndex].Cells[0].Value + "";
                name = dgvWarp.Rows[e.RowIndex].Cells[1].Value + "";
                price = dgvWarp.Rows[e.RowIndex].Cells[2].Value + "";
                desc = dgvWarp.Rows[e.RowIndex].Cells[3].Value + "";
               // quan = dgvWarp.Rows[e.RowIndex].Cells[4].Value + "";

                label2.Text = id;
                label3.Text = name;
                label4.Text = price;
                label5.Text = desc;
}

这是我的单元格单击事件处理程序代码。但此代码没有触发我需要。实际上我希望 datagridview 单元格值自动传递给标签。如果我在某些单元格中输入值仅将数据传递给标签保持空白,如果我输入所有单元格按图像显示所有标签

只有第 1 行显示值,如果我输入第 1 列第 2 行单元格 (test2),那么它将显示 test2 代替 test1。 这是我的问题

【问题讨论】:

  • 请包括您的整个点击处理程序 - 您发布的内容不包括方法签名。此外,请更具体地说明什么不起作用 - 您所说的“此代码未触发”是什么意思?
  • Code Snippet 选项仅适用于网络语言。
  • 您确定将它与活动联系起来了吗?在设计器中还是在代码中?
  • 如果按钮单击事件让我提供我需要的代码。
  • 谁能帮帮我。我需要它。

标签: c# winforms datagridview


【解决方案1】:

根据行和列索引给标签名称。 IE。 lblRow0Col0, lblRow0Col1, lblRow1Col2

然后在CellValidating Event中编写如下代码

private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
    String lblName = String.Format("lblRow{0}Col{1}", e.RowIndex, e.ColumnIndex);
    Label lbl = (TextBox)this.Controls[lblName];
    lbl.Text = e.FormattedValue.ToString();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多