如何解决从数据库访问数据时在datagridview中添加第n次
我正在尝试从数据库访问数据时在datagridview中添加新行,并且数据库未绑定到视图。因此,基本上,视图具有无限制的列,用户在创建新PO时以及当用户希望查看它时输入我提供了一个显示按钮,那就是出现问题时,数据表可以有第n行,但是数据网格只有一行,然后我收到了超出范围的异常索引。我不知道我应该如何在获取时添加新行动态数据。
以下是我用来获取数据的代码:
private void btn_PODisplay_Click(object sender,EventArgs e)
{
//fetch data of PO No
string query = "SELECT * FROM Product_PODB WHERE PO_NO='" + txt_PONo.Text + "' ;";
SqlCommand cmd = new SqlCommand(query,conP);
System.Data.DataTable dt = new System.Data.DataTable();
SqlDataAdapter sda = new SqlDataAdapter(cmd);
conP.Open();
DataSet ds = new DataSet();
dt = ds.Tables[0];
sda.Fill(ds,"Product_PODB");
int numofRows = dt.Rows.Count;
for (int i = 0; i <= dt.Rows.Count-1; i++)
{
dg_POProductAdd.Rows[i].Cells[1].Value = dt.Rows[i]["ProductName"].ToString();
dg_POProductAdd.Rows[i].Cells[2].Value = dt.Rows[i]["Color"].ToString();
dg_POProductAdd.Rows[i].Cells[3].Value = dt.Rows[i]["Size"].ToString();
dg_POProductAdd.Rows[i].Cells[4].Value = dt.Rows[i]["Quality"].ToString();
dg_POProductAdd.Rows[i].Cells[5].Value = dt.Rows[i]["Lot"].ToString();
dg_POProductAdd.Rows[i].Cells[6].Value = dt.Rows[i]["Unit"].ToString();
dg_POProductAdd.Rows[i].Cells[7].Value = dt.Rows[i]["Quantity"].ToString();
dg_POProductAdd.Rows[i].Cells[8].Value = dt.Rows[i]["Rate"].ToString();
dg_POProductAdd.Rows[i].Cells[9].Value = dt.Rows[i]["Amount"].ToString();
}
conP.Close();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。