下面这段代码是为了测试对dataGridView1排序后,为什么报表不能同步排序?
一定要再为报表写一段查询的代码吗?这样做为会影响速度吗?
用C#做C/S结构的管理系统一定这么麻烦吗?在表单上有一个crystalReportViewer1; dataGridView1; button1 通过点击button1将查询结果显示在上面两个控件里,
想问的是:如果对dataGridView1进行排序后,报表的内容也是排序的,如何设置或如何写代码?
BindingSource bs = new BindingSource();
DataSet1 ds1 = new DataSet1();
string connstr = "server=.; database=mydata; uid=sa; pwd=";
string str = "select * from operator";
SqlDataAdapter sda = new SqlDataAdapter(str, connstr);
sda.Fill(ds1, "DataTable1");
CrystalReport1 cr = new CrystalReport1();
bs.DataSource = ds1.Tables["DataTable1"];
cr.SetDataSource(bs.DataSource);
//一定要用'bs.DataSource'; 只'bs'不行,dataGridView1.DataSource 可以;
crystalReportViewer1.ReportSource = cr;
dataGridView1.DataSource = bs;
一定要再为报表写一段查询的代码吗?这样做为会影响速度吗?
用C#做C/S结构的管理系统一定这么麻烦吗?在表单上有一个crystalReportViewer1; dataGridView1; button1 通过点击button1将查询结果显示在上面两个控件里,
想问的是:如果对dataGridView1进行排序后,报表的内容也是排序的,如何设置或如何写代码?
BindingSource bs = new BindingSource();
DataSet1 ds1 = new DataSet1();
string connstr = "server=.; database=mydata; uid=sa; pwd=";
string str = "select * from operator";
SqlDataAdapter sda = new SqlDataAdapter(str, connstr);
sda.Fill(ds1, "DataTable1");
CrystalReport1 cr = new CrystalReport1();
bs.DataSource = ds1.Tables["DataTable1"];
cr.SetDataSource(bs.DataSource);
//一定要用'bs.DataSource'; 只'bs'不行,dataGridView1.DataSource 可以;
crystalReportViewer1.ReportSource = cr;
dataGridView1.DataSource = bs;
我已经绑定了,点击button2时(bs.RemoveSort)也执行了取消排序。
那么如何将dataGridView1转换到dataTable1中?
bs.DataSource = ds1.Tables["DataTable1"];
bs.Sort="f_name"; //先排序,在dataGridView1有反应,在报表里还是原样。
cr.SetDataSource(bs.DataSource);
//一定要用'bs.DataSource'; 只'bs'不行,dataGridView1.DataSource 可以请问各位,排序后如何再传到报表里?
bs.DataSource = ds1.Tables["DataTable1"];
试下
已经绑定了;
BindingSource bs = new BindingSource();
bs.DataSource = ds1.Tables["DataTable1"];
bs.Sort="f_name";
DataView dView=table.defaultView;
DataGridView1.DataSource=dView;
然后把dView传入报表,
因为dataView 是用来排序的,而Table不是,DGV的排序变化后,DataView的记录顺序会跟随发生变化。
是可以,可需要点击水晶报表的刷新按钮,报表才会与dataGridView同步;
我把dataGridView1与CrystalReport1放在同一个Form1上,
当点击dataGridView1列头排序后,报表没有反应,在表单上,有一个Button1,
点击Button1重新设置报表的SetDataSource还是没有反应,
想问一下如何用代码让报表刷新?