Torna al Thread

//Create DataRelation DataRelation r = new DataRelation(string.Empty,dataSet11.Table1.campo1Column,dataSet11.Table2.campo1Column,false); dataSet11.Relations.Add(r); //Create Columns for JOIN table for(int i = 0; i < dataSet11.Table1.Columns.Count; i++) { table.Columns.Add(dataSet11.Table1.Columns[i].ColumnName, dataSet11.Table1.Columns[i].DataType); } for(int i = 0; i < dataSet11.Table2.Columns.Count; i++) { //Beware Duplicates if(!table.Columns.Contains(dataSet11.Table2.Columns[i].ColumnName)) table.Columns.Add(dataSet11.Table2.Columns[i].ColumnName, dataSet11.Table2.Columns[i].DataType); else table.Columns.Add(dataSet11.Table2.Columns[i].ColumnName + "_Second", dataSet11.Table2.Columns[i].DataType); } //Loop through First table table.BeginLoadData(); foreach(DataRow firstrow in dataSet11.Tables[0].Rows) { //Get "joined" rows DataRow[] childrows = firstrow.GetChildRows(r); if(childrows != null && childrows.Length > 0) { object[] parentarray = firstrow.ItemArray; foreach(DataRow secondrow in childrows) { object[] secondarray = secondrow.ItemArray; object[] joinarray = new object[parentarray.Length+secondarray.Length]; Array.Copy(parentarray,0,joinarray,0,parentarray.Length); Array.Copy(secondarray,0,joinarray,parentarray.Length,secondarray.Length); table.LoadDataRow(joinarray,true); } } else { object[] parentarray = firstrow.ItemArray; object[] joinarray = new object[parentarray.Length]; Array.Copy(parentarray,0,joinarray,0,parentarray.Length); table.LoadDataRow(joinarray,true); } } table.EndLoadData(); //Table pulito cleaned DataTable dtclean = this.dataSet11.Table1.Clone(); DataRowCollection rowCollection = table.Rows; for (int i = 0; i < table.Rows.Count;i++) { if(table.Rows[i]["campo1_Second"].ToString()!= "") { rowCollection.Remove(table.Rows[i]); i--; } }
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5