only some columns pass to subrepots
-
2012년 3월 20일 화요일 오전 9:36
hi all, i got report with parameter and 2 subreports. this works almost fine, but subreports are not filled with all columns that i want, just with the last, where is the problem, can some1 help me pls? some code&pictures (tables dt1, dt2 are filled up correctly) (first picture is how it should look like, and second how it look like)
public RPodielnik(string IDpod, DataTable table1, DataTable table2) {//constructor of the form with crystalreportviewer InitializeComponent(); id = IDpod; dt1 = table1; dt2 = table2; } private void RPodielnik_Load(object sender, EventArgs e) { ListPodielnika rprt = new ListPodielnika(); ParameterFieldDefinitions crParameterFieldDefinitions; ParameterFieldDefinition crParameterFieldDefinition; ParameterValues crParameterValues = new ParameterValues(); ParameterDiscreteValue crParameterDiscreteValue = new ParameterDiscreteValue(); ReportDocument lv=rprt.OpenSubreport("lv"); ReportDocument kategorie = rprt.OpenSubreport("kategorie"); lv.SetDataSource(dt1); kategorie.SetDataSource(dt2); crParameterDiscreteValue.Value = id; crParameterFieldDefinitions = rprt.DataDefinition.ParameterFields; crParameterFieldDefinition = crParameterFieldDefinitions["idpodielnik"]; crParameterValues = crParameterFieldDefinition.CurrentValues; crParameterValues.Clear(); crParameterValues.Add(crParameterDiscreteValue); crParameterFieldDefinition.ApplyCurrentValues(crParameterValues); crystalReportViewer1.ReportSource = rprt; crystalReportViewer1.Refresh(); }//filling up datatables, checked runtime, they are ok ds = new DSurbar(); dt1 = ds.Tables.Add("kategorie"); dt1.Columns.Add("kategoria", typeof(string)); dt1.Columns.Add("rozloha", typeof(string)); dt2 = ds.Tables.Add("lv"); dt2.Columns.Add("lv", typeof(string)); dt2.Columns.Add("parcela", typeof(string)); dt2.Columns.Add("podiel", typeof(string)); dt2.Columns.Add("rozloha", typeof(string)); foreach(DataRow row in dataSet2.Tables[0].Rows) { DataRow dr = dt1.NewRow(); dr[0] = row.ItemArray[0].ToString(); dr[1] = row.ItemArray[1].ToString(); dt1.Rows.Add(dr); } foreach (DataRow row in dataSet3.Tables[0].Rows) { DataRow dr = dt2.NewRow(); dr[0] = row.ItemArray[0].ToString(); dr[1] = row.ItemArray[1].ToString(); dr[2] = row.ItemArray[3].ToString(); dr[3] = row.ItemArray[4].ToString(); dt2.Rows.Add(dr); }

