【问题标题】:Link Database in DatagridView在 DatagridView 中链接数据库
【发布时间】:2016-06-26 05:45:44
【问题描述】:

我正在开发一个库存系统,我设计了一个库存状态表单,用于显示从数据库到数据网格视图的项目。

     mycon.Open();
     SqlCommand cmd2 = new SqlCommand("Select ItemName, LowStock, Quantity from Pharmacy_Items";, mycon);
     SqlDataAdapter ada2 = new SqlDataAdapter(cmd2);
     DataTable dt2 = new DataTable();

     ada2.Fill(dt2);
     datagridview.DataSource = dt2;
     mycon.Close();

现在我想在显示项目状态的数量旁边添加另一列,例如如果项目数量低于 lowStock 或等于 lowStock,那么状态列应该是“低”,如果项目数量超过 lowStock 数量,它应该写“好”。 并且具有“低”状态的项目应将其行颜色更改为红色。这样我们就可以知道哪个项目处于低状态,我们必须订购库存。

我试过这个:

for (i =0; i < datagridview.Row.Count; i++)
{
  if( datagridview.Rows[i].Cells[1].Value >= datagridview.Rows[i].Cells[2].Value;
  {
   datagridview.Columns.Add("Low");
  }
   else
  {
   datagridview.Columns.Add("Ok");
  }
}

【问题讨论】:

  • 首先,您将使用上述代码添加多个列。因此,您最终可能会得到多个标题为 OK、Low 的列。也许您应该考虑创建一个 SQL 视图,其中包含您需要显示的所有必要信息,然后只需绑定您的 Datagrid,它将自动添加 SELECT 查询中包含的所有列
  • like 我如何制作包含所有必要信息的 SQL 视图。 :)
  • 给我看看你的桌子“Pharmacy_Items”,我会帮你的。否则,请查看此链接:w3schools.com/sql/sql_view.asp
  • 感谢您的宝贵回复:) 我的 Pharmacy_Items 有 ItemCode、ItemName、LowStock、Quantity 和 Price 字段。
  • @Kho Dam,我们希望您的问题已得到解决。我可以建议您进一步阅读meta.stackexchange.com/questions/5234/…...问候...

标签: c# sql datagridview


【解决方案1】:

试试这个....

                mycon.Open();
                SqlCommand cmd2 = new SqlCommand("select ItemName, LowStock, Quantity, CASE when Quantity < LowStock then 'LOW' else 'OK' end as [Status]  from Pharmacy_Items", mycon);
                SqlDataAdapter ada2 = new SqlDataAdapter(cmd2);
                DataTable dt2 = new DataTable();

                ada2.Fill(dt2);
                dataGridView.DataSource = dt2;
                mycon.Close();

要更改行颜色,请像这样使用 CellFormatting 事件...

    private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
    {
        try
        {
            if (dataGridView1.Rows[e.RowIndex].Cells["Status"].Value.ToString() == "LOW")
                e.CellStyle.BackColor = Color.Red;
        }
        catch (Exception)
        {
        }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-22
    • 1970-01-01
    相关资源
    最近更新 更多