private void buttonEdit1_Properties_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e) { DevExpress.XtraEditors.ButtonEdit target; string column; if ((target = sender as DevExpress.XtraEditors.ButtonEdit) != null && (column = target.Text.Trim()) != "") { if (Data.ContainsColumn(column)) { if ((MessageBox.Show("原表中已有列" + column + ",是否要覆盖?", "注意", MessageBoxButtons.YesNo) == DialogResult.Yes)) { int rowcount = (this.gridView2.DataSource as DataView).Count; for (int i = 0; i < rowcount; i++) { Data[i, column] = (this.gridView2.DataSource as DataView)[i]["类标号"]; } Data.SetColumnVisible(column); } else { return; } } else { Data.AddColumn(column, typeof(int)); int rowcount = (this.gridView2.DataSource as DataView).Count; for (int i = 0; i < rowcount; i++) { Data[i, column] = (this.gridView2.DataSource as DataView)[i]["类标号"]; } } MessageBox.Show("添加成功"); } }
public static void F1T2(SPC.Base.Interface.IDataTable <DataRow> sourcedata, string[] sourcecolumns, string[] targetcolumns, double arg_1, double arg_2) { var mins = ColumnCalculate.Min(sourcedata, sourcecolumns); var maxs = ColumnCalculate.Max(sourcedata, sourcecolumns); int rowcount = sourcedata.RowCount; int columncount = sourcecolumns.Length; double[] ranges = new double[columncount]; int i, j; DataRow temprow; double r = arg_2 - arg_1; for (j = 0; j < columncount; j++) { if (!sourcedata.ContainsColumn(targetcolumns[j])) { sourcedata.AddColumn(targetcolumns[j], typeof(double)); } ranges[j] = maxs[j] - mins[j]; } for (i = 0; i < rowcount; i++) { temprow = sourcedata[i]; for (j = 0; j < columncount; j++) { temprow[targetcolumns[j]] = ((temprow[sourcecolumns[j]].ConvertToDouble() - mins[j]) * r) / ranges[j] + arg_1; } } }
public static void ZScore(SPC.Base.Interface.IDataTable <DataRow> sourcedata, string[] sourcecolumns, string[] targetcolumns) { var avgs = ColumnCalculate.Avg(sourcedata, sourcecolumns); var stdevs = ColumnCalculate.Stdev(sourcedata, sourcecolumns, avgs); int rowcount = sourcedata.RowCount; int columncount = sourcecolumns.Length; int i, j; DataRow temprow; foreach (var targetcolumn in targetcolumns) { if (!sourcedata.ContainsColumn(targetcolumn)) { sourcedata.AddColumn(targetcolumn, typeof(double)); } } for (i = 0; i < rowcount; i++) { temprow = sourcedata[i]; for (j = 0; j < columncount; j++) { temprow[targetcolumns[j]] = (temprow[sourcecolumns[j]].ConvertToDouble() - avgs[j]) / stdevs[j]; } } }
public static void M1D2(SPC.Base.Interface.IDataTable <DataRow> sourcedata, string[] sourcecolumns, string[] targetcolumns, double arg_1, double arg_2) { int rowcount = sourcedata.RowCount; int columncount = sourcecolumns.Length; int i, j; DataRow temprow; foreach (var targetcolumn in targetcolumns) { if (!sourcedata.ContainsColumn(targetcolumn)) { sourcedata.AddColumn(targetcolumn, typeof(double)); } } for (i = 0; i < rowcount; i++) { temprow = sourcedata[i]; for (j = 0; j < columncount; j++) { temprow[targetcolumns[j]] = (temprow[sourcecolumns[j]].ConvertToDouble() - arg_1) / arg_2; } } }