【问题标题】:How to define columns in datagridview programmatically?如何以编程方式定义 datagridview 中的列?
【发布时间】:2017-03-06 22:42:47
【问题描述】:

我正在制作 Windows 应用程序

我添加了 1 个按钮和 1 个数据网格视图。

当点击按钮时,数据显示在 DB 中的 datagridview 中。

还有这一步,我有个问题。

我想像这样以编程方式定义 DataGridView 列

  1. 第一列 = 复选框列
  2. 第二列 = 进程列(我要在这里绑定数据)
  3. 第三列 = 进度条列(我会制作此列)

SQL 查询如下

SELECT COUNT(*) as Process from Sales.SalesOrderDetail
UNION
SELECT COUNT(*) as Process from Purchasing.ProductVendor
UNION
SELECT COUNT(*) as Process from Person.Address
UNION
SELECT COUNT(*) as Process from Production.WorkOrder

而按钮点击事件是这样的

private void btnStart_Click(object sender, EventArgs e)
{
    DataSet ds = new DataSet();
    DataTable dt = new DataTable();
    SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["AdvConn"].ConnectionString);
    SqlCommand cmd = new SqlCommand("UP_SelectTableCount", conn);
    cmd.CommandType = CommandType.StoredProcedure;
    try
    {
        conn.Open();

        SqlDataAdapter da = new SqlDataAdapter(cmd);
        da.Fill(ds);
    }
    catch{}
    finally
    {
        conn.Close();
    }
    dt = ds.Tables[0];
    metroGrid2.DataSource = dt; }

如何添加或修复我的代码?请帮帮我

谢谢。

【问题讨论】:

  • 使用dataGridView1.Columns.Add(colname)
  • 谢谢新手。是的,我已经知道如何使用它了。但我想更具体一点

标签: c# winforms datagridview datagridviewcolumn


【解决方案1】:

将数据添加到 datagridview 后,您可以编写一个简单的函数来添加这样的新列

private void AddNewColumns()
{
    metroGrid2.Columns.Add("newColumnName", "Column Name in Text");
    //To add values to the column you should run a foreach loop 
    foreach (DataGridViewRow row in metroGrid2.Rows) 
    {
        if (row.Cells[1].Value.ToString()=="1") //Some condition or value  
            row.Cells[2].Value = "50%"; 
    }
}

这只是一个关于添加列的想法,而不是关于添加进度条的想法。但我相信这可能会对您有所帮助,因为您主要关心的是向 DGV 添加一个新列。希望这会有所帮助

对于添加进度条列Populating a DataGridView with Text and ProgressBars 可能会对您有所帮助

【讨论】:

  • 谢谢 Mohit Shrivastava。我了解如何使用它。所以我会试试看。我也感谢您关于进度条的链接!
  • 很乐意提供帮助。快乐编码。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-23
  • 1970-01-01
  • 2012-03-07
  • 2010-11-08
  • 1970-01-01
  • 2019-09-27
  • 1970-01-01
相关资源
最近更新 更多