如何解决如何在C#Asp.net中满足特定要求的GRIDVIEW中求和
我得到了一张GRIDVIEW表格,如下所示:
EQP TOTAL_LOT QUANTITY PRODUCT TOTAL_HOURS LOT_RUNNING_HOURS IDLE_HOURS
93K-P001 6 2260 OBR 19:58:59 19:56:47 00:02:12
93K-P002 7 17609 STX 19:58:59 19:20:42 00:38:17
93K-P003 100 7752 STX 19:58:59 19:51:10 00:07:49
94K-P004 1000 1280 OBR 19:58:59 19:56:10 00:02:50
LAS43 10 15821 0 19:58:59 07:38:00 12:21:00
P-ICOS-04 8 14056 0 19:58:59 17:15:44 02:43:16
(93K-P001,P002,P003,P004都在93K以下,然后对Product进行检查。例如:93K-P001和93K-P004在OBR相同的Product下,那么我需要对它们的TOTAL_HOURS列求和和LOT_RUNNING_HOURS列并将其划分(利用率)
- 我希望我的最终表gridview如下:
EQP PRODUCT Utilization 93K OBR 92% 93K STX 88% LAS43 0 0 P-ICOS-04 0 0
-
我正在使用硬代码,但似乎不是正确的方法。
var prod = ""; var hours = ""; var lotrunning = ""; var totalhour = TimeSpan.Zero; var totalRunninghr = TimeSpan.Zero; TimeSpan reminder = TimeSpan.Zero; DataTable dz = new DataTable(); dz.Columns.Add("EQP",typeof(string)); dz.Columns.Add("Product",typeof(String)); dz.Columns.Add("Hours",typeof(TimeSpan)); dz.Columns.Add("Utilization",typeof(long)); foreach (DataRow ee in dx.Rows) { var eqp = ee["EQP"].ToString(); var pro = ee["Product"].ToString(); totalhour = TimeSpan.Zero; totalRunninghr = TimeSpan.Zero; foreach (DataRow bb in dx.Rows) { var eqp1 = ee["EQP"].ToString(); var pro1 = ee["Product"].ToString(); var ab = bb["EQP"].ToString(); var abc = bb["Product"].ToString(); if (eqp1.Contains("93K") && ab.Contains("93K")) { prod = ee["Product"].ToString(); hours = ee["TOTALHOURS"].ToString(); totalhour += TimeSpan.Parse(hours); lotrunning = ee["LOTRUNNINGHOURS"].ToString(); totalRunninghr += TimeSpan.Parse(lotrunning); } } var tes = hours; var prod1 = prod; TimeSpan x = totalhour; TimeSpan y = totalRunninghr; long coeff = (long)(((double)x.Ticks / (double)y.Ticks) * 100); if (eqp.Equals(eqp)) { dz.Rows.Add(eqp,1); string query2 = string.Format("EQP='{0}'",eqp.Replace(@"'","''")); var rows = dz.Select(query2); if (rows.Length > 0) { var rowIndex = dz.Rows.IndexOf(rows[0]); //dx.Rows[rowIndex]["TotalLOT_ID"] = int.Parse(dx.Rows[rowIndex]["TotalLOT_ID"].ToString()) + 1; dz.Rows[rowIndex]["Hours"] = tes; dz.Rows[rowIndex]["Product"] = prod1; dz.Rows[rowIndex]["Utilization"] = coeff; } } } GridView2.DataSource = dx; GridView2.DataBind(); GridView3.DataSource = dz; GridView3.DataBind();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。