string sn = dgvDataQuery.SelectedRows[0].Cells["SN"].Value.ToString(); DataTable processZZ = objDataQueryService.ProcessZZ(sn); processZZ.Columns.Add("Station", typeof(string)); processZZ.Columns["Station"].SetOrdinal(0); foreach (DataRow row in processZZ.Rows) { row["Station"] = "组装"; } DataTable processGN = objDataQueryService.ProcessGN(sn); processGN.Columns.Add("Station", typeof(string)); processGN.Columns["Station"].SetOrdinal(0); foreach (DataRow row in processGN.Rows) { row["Station"] = "功能"; } DataTable processLH = objDataQueryService.ProcessLH(sn); processLH.Columns.Add("Station", typeof(string)); processLH.Columns["Station"].SetOrdinal(0); foreach (DataRow row in processLH.Rows) { row["Station"] = "老化"; } DataTable processBZ = objDataQueryService.ProcessBZ(sn); processBZ.Columns.Add("Station", typeof(string)); processBZ.Columns["Station"].SetOrdinal(0); foreach (DataRow row in processBZ.Rows) { row["Station"] = "包装"; } DataTable processCK = objDataQueryService.ProcessCK(sn); processCK.Columns.Add("Station", typeof(string)); processCK.Columns["Station"].SetOrdinal(0); foreach (DataRow row in processCK.Rows) { row["Station"] = "出库"; } processZZ.Merge(processGN); processZZ.Merge(processLH); processZZ.Merge(processBZ); processZZ.Merge(processCK); dtData = processZZ; ProgressForm progressForm= new ProgressForm(); progressForm.ShowDialog();
时间: 2024-02-14 20:35:08 浏览: 172
这段代码看起来是从一个DataGridView中获取选定行的SN值,然后使用这个值从服务中获取一些数据,在这些数据的表格中添加一个名为"Station"的新列,并为每个行设置相应的值。接下来,这些表格将被合并成一个表格,并将其赋值给dtData。最后,一个名为ProgressForm的窗体将被创建并显示。
相关问题
private void menuItem_Click(object sender,EventArgs e) { string sn = dgvDataQuery.SelectedRows[0].Cells["SN"].Value.ToString(); DataTable processZZ = objDataQueryService.ProcessZZ(sn); processZZ.Columns.Add("Station", typeof(string)); processZZ.Columns["Station"].SetOrdinal(0); foreach (DataRow row in processZZ.Rows) { row["Station"] = "组装"; } DataTable processGN = objDataQueryService.ProcessGN(sn); processGN.Columns.Add("Station", typeof(string)); processGN.Columns["Station"].SetOrdinal(0); foreach (DataRow row in processGN.Rows) { row["Station"] = "功能"; } DataTable processLH = objDataQueryService.ProcessLH(sn); processLH.Columns.Add("Station", typeof(string)); processLH.Columns["Station"].SetOrdinal(0); foreach (DataRow row in processLH.Rows) { row["Station"] = "老化"; } DataTable processBZ = objDataQueryService.ProcessBZ(sn); processBZ.Columns.Add("Station", typeof(string)); processBZ.Columns["Station"].SetOrdinal(0); foreach (DataRow row in processBZ.Rows) { row["Station"] = "包装"; } DataTable processCK = objDataQueryService.ProcessCK(sn); processCK.Columns.Add("Station", typeof(string)); processCK.Columns["Station"].SetOrdinal(0); foreach (DataRow row in processCK.Rows) { row["Station"] = "出库"; } processZZ.Merge(processGN); processZZ.Merge(processLH); processZZ.Merge(processBZ); processZZ.Merge(processCK); dtData = processZZ; ProgressForm progressForm= new ProgressForm(); progressForm.ShowDialog(); //this.dgvProgress.DataSource = processZZ; }
这段代码的功能主要是查询指定序列号(SN)的产品在不同工站的生产情况,包括组装、功能、老化、包装和出库。它首先通过调用 `ProcessZZ`、`ProcessGN` 等方法,查询指定序列号在各个工站的生产记录,并将查询结果保存到不同的 `DataTable` 中。随后,对于每个查询结果的 `DataTable`,代码都会添加一个名为 "Station" 的列,并将其排在第一列,然后再遍历每行记录,并将 "Station" 列的值设置为对应的工站名称。接着,通过调用 `Merge` 方法,将不同工站的生产记录合并到一个 `DataTable` 中,最终返回的是一个包含了所有工站生产记录的 `DataTable`。最后,代码创建并显示一个进度条窗口 `ProgressForm`,并将查询结果 `processZZ` 赋值给 `dtData`,以便在主窗口中显示。
我写了这样的代码 private void InlistGDV_CellContentClick(object sender, DataGridViewCellEventArgs e) { the_ID.Text = InlistGDV.SelectedRows[0].Cells[0].Value.ToString(); the_Class.SelectedItem = InlistGDV.SelectedRows[0].Cells[1].Value.ToString(); the_Name.Text = InlistGDV.SelectedRows[0].Cells[2].Value.ToString(); } 但它无法在对应的textbox等控件内显示
可能的原因是你没有给 `the_Class` 下拉框添加选项,或者添加的选项与 `InlistGDV.SelectedRows[0].Cells[1].Value.ToString()` 的值不匹配。你可以检查一下这两个方面,看看是否有问题。另外,你可以在代码中添加一些调试信息,查看程序执行时是否有错误或者未按预期执行。例如,你可以在代码中添加一些 `MessageBox.Show()` 方法,在程序执行到这里时会弹出消息框,显示当前的变量值,以帮助你定位问题所在。
阅读全文