我在数据gridview中动态添加了该列,并希望为其分配一些值。我正在使用以下代码...
String qr = "SELECT Id, CONVERT(varchar, OrderItemId) AS Product, Quantity,CONVERT(varchar,CustomerId) AS Customer, ReturnRequestStatusId as'Return Request Status', CreatedOnUtc as Date FROM ReturnRequest";
DataTable dtr = new DataTable();
tp.populatedt(qr, dtr);
dgvReturnRequests.DataSource = dtr;
DataGridViewTextBoxColumn ord = new DataGridViewTextBoxColumn();
ord.HeaderText = "Order #";
ord.Name = "OrderCol";
dgvReturnRequests.Columns.Insert(4, ord); // Here I added a new column
foreach (DataGridViewRow dr in dgvReturnRequests.Rows)
{
string s = dr.Cells[1].Value.ToString();
DataTable pn = new DataTable();
tp.populatedt("Select p.pname,o.OrderId from Product p JOIN OrderItem o on p.Id=o.ProductId where o.Id='" + Convert.ToInt32(s) + "'", pn);
foreach (DataRow dr1 in pn.Rows)
{
dr.Cells[1].Value = dr1["pname"].ToString();
dr.Cells[4].Value = dr1["OrderId"].ToString(); // Here I am adding the value in a newly added column
}
}
显示了产品名称(pname),但是dr1 [“ OrderId”]。ToString()的值未显示在该单元格中...检查下图中的输出。
我该如何解决?
最佳答案
您应确保dgvReturnRequests.Rows和pn.Rows不为空。否则,将无法达到循环且不会更新任何内容。
在方法的最后,您应该调用dgvReturnRequests.Update();。更新数据网格视图。
关于c# - 在datagridview单元中动态插入数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52271484/