private void btnFilterSupervisionCondition_Click(object sender, EventArgs e) { DataTable newdt = new DataTable( ); DataTable resultdt = new DataTable(); resultdt = newdt = DoubleOrSetTable.Clone( ); foreach (DataRow row in DoubleOrSetTable.Select("Double<>'N'")) { newdt.Rows.Add(row.ItemArray); } foreach (DataRow row in newdt.Select("监管条件 LIKE '%B%'")) { resultdt.Rows.Add(row.ItemArray); } foreach (DataRow row in newdt.Select("监管条件 NOT LIKE '%B%'")) { resultdt.Rows.Add(row.ItemArray); } foreach (DataRow row in DoubleOrSetTable.Select("Double='N'")) { resultdt.Rows.Add(row.ItemArray); } foreach (DataRow row in resultdt.Rows) { row["NET_WEIGHT"] = decimal.Round(decimal.Parse(row["NET_WEIGHT"].ToString( )), 2); row["GROSS_WEIGHT"] = decimal.Round(decimal.Parse(row["GROSS_WEIGHT"].ToString( )), 2); } resultdt.AcceptChanges( ); _DoubleOrSetTable.Clear( ); _DoubleOrSetTable = resultdt; _DoubleOrSetTable.AcceptChanges( ); DataTable dtparcelnumer = _DoubleOrSetTable.Clone(); //掏箱 foreach (DataRow dr in _DoubleOrSetTable.Select("Double LIKE '%掏箱%'").AsEnumerable( ).Distinct <DataRow>(new DataTableRowCompare("PARCEL_NUMBER")).CopyToDataTable( ).Rows) { DataRow[] tempdrs = _DoubleOrSetTable.Select("PARCEL_NUMBER='" + dr["PARCEL_NUMBER"].ToString( ) + "'"); foreach (DataRow row in tempdrs) { dtparcelnumer.Rows.Add(row.ItemArray); _DoubleOrSetTable.Rows.Remove(row); } } _DoubleOrSetTable.AcceptChanges( ); DataTable tempdt = dtparcelnumer; string[] strFileName = _fileName.Split('.'); dtparcelnumer.TableName = strFileName[0] + "-2." + strFileName[1]; _DoubleOrSetTable.TableName = _fileName; _ParcelNumberDataSet.Tables.Add(_DoubleOrSetTable.Copy()); _ParcelNumberDataSet.Tables.Add(dtparcelnumer.Copy( )); //DataTable temp=resultdt; this.operateType = OperateType.FilterSupervisionCondition; SetSubForm("FrmMulSheet"); toolStripStatusLabel1.Text = "筛选监管条件完成!"; //DataRow[] drs=DoubleOrSetTable.Select( "Double<>'N'" ).CopyToDataTable().Select("监管条件 LIKE '%B%'"); //DataTable test=drs.CopyToDataTable( ); }
private void SupervisionConditionForUnionCLP( ) { SupervisionConditionBLL scbll = new SupervisionConditionBLL( ); SupervisionConditionEntity currenyRntity; List <SupervisionConditionEntity> scList = scbll.GetModelList(""); foreach (DataRow row in DoubleOrSetTable.Rows) { currenyRntity = scList.Find(delegate(SupervisionConditionEntity entity) { return(entity.SupervisionConditionName == row["监管条件"].ToString()); }); if (currenyRntity != null) { row["监管条件"] = "N"; } } DoubleOrSetTable.AcceptChanges( ); }
private void SetOperateForUnionCLP(DataTable unionCLPTable) { IEnumerable <DataRow> queryforSet = from uclp in unionCLPTable.AsEnumerable( ) where uclp.Field <String>("Double") == "SET" select uclp; DataTable dtSET = queryforSet.CopyToDataTable <DataRow>( ); DataTable dtNEW = dtSET.Copy( ); DataTable dtsetCopy = dtSET.Clone( ); dtsetCopy = dtSET.AsEnumerable( ).Distinct(new DataTableRowCompare("MODEL_CODE")).CopyToDataTable( ); int i = 0; foreach (DataRow row in dtsetCopy.Rows) { try { int indexlast = dtSET.Rows.IndexOf(dtSET.AsEnumerable( ).Last(e => e.Field <String>("MODEL_CODE") == row["MODEL_CODE"].ToString())); foreach (DataRow dr1 in BasicDataTable.Select("ModelCode=" + "'" + row["MODEL_CODE"].ToString( ) + "'").Skip <DataRow>(1)) { i++; DataRow dr = dtNEW.NewRow( ); dr["UNIT"] = dr1["QuanitityUnit"]; dr["HS_CODE"] = dr1["HSCode"]; dr["中文品名"] = dr1["LocalProdectName"]; dr["英文品名"] = dr1["EnglishProductName"]; dr["申报要素"] = dr1["SentialFactor"]; dr["监管条件"] = dr1["SupervisionCondition"]; dtNEW.Rows.InsertAt(dr, indexlast + i); } i++; //DataTable temp=BasicDataTable.Select( "ModelCode="+"'"+row["MODEL CODE"].ToString( )+"'" ).Skip<DataRow>( 1 ).CopyToDataTable( ); } catch (ArgumentNullException ex) { MessageBox.Show("原始资料表中SET操作" + row["MODEL_CODE"].ToString( ) + "无对应的记录!"); return; } } //添加DataTable2的数据 foreach (DataRow dr in unionCLPTable.AsEnumerable( ).Except(dtSET.AsEnumerable( ), DataRowComparer.Default).CopyToDataTable( ).Rows) { dtNEW.ImportRow(dr); } DoubleOrSetTable.Clear( ); DoubleOrSetTable = dtNEW; DoubleOrSetTable.AcceptChanges( ); //unionCLPTable=dtNEW; //MODEL CODE //var query1 = // from basicdata in BasicDataTable.AsEnumerable( ) // join setdata in dtSET.AsEnumerable( ) // on basicdata.Field<String>( "ModelCode" ) equals setdata.Field<String>( "MODEL CODE" ) // select basicdata; //DataTable dtBasicData = query1.Distinct().CopyToDataTable<DataRow>( ); }