如何以编程方式在 datagridview 中定义列?

How to define columns in datagridview programmatically?

我正在制作 windows 应用程序

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

当点击按钮时,数据显示在数据库的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; }

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

谢谢。

将数据添加到 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可能对您有所帮助