datatable中数据和数据库的数据联合的结果显示在DATAGRID中,巨难!!100分送上!!不够再加。
数据库中A表的数据如下。
AnalystID PeriodID Name Label
------ -------- ------------------------- -------
1 1 Morgan Keegan 1 Year
1 2 Morgan Keegan 2 Years
1 3 Morgan Keegan 3 Years
4 1 Oppenheimer & Company 1 Year
4 2 Oppenheimer & Company 2 Years
4 3 Oppenheimer & Company 3 Years
8 1 Hilliard Lyons 1 Year
8 2 Hilliard Lyons 2 Years
8 3 Hilliard Lyons 3 Years
9 1 RBC Capital Markets 1 Year
9 2 RBC Capital Markets 2 Years
9 3 RBC Capital Markets 3 Years
在DataTable对象中的数据如下:
AnalystID PeriodID Value
----------- ----------- -----------
1 1 390
1 2 412
1 3 415
4 1 494
4 2 518
4 3 525
8 1 122
8 2 128
8 3 133
9 1 1232
9 2 1311
9 3 1363
如何做到我要的结果显示在DataGrid中,效果如下:
AnalystID PeriodID Name Label Value
------ -------- ------------------------- ------- -----------
1 1 Morgan Keegan 1 Year 390
1 2 Morgan Keegan 2 Years 412
1 3 Morgan Keegan 3 Years 415
4 1 Oppenheimer & Company 1 Year 494
4 2 Oppenheimer & Company 2 Years 518
4 3 Oppenheimer & Company 3 Years 525
8 1 Hilliard Lyons 1 Year 122
8 2 Hilliard Lyons 2 Years 128
8 3 Hilliard Lyons 3 Years 133
9 1 RBC Capital Markets 1 Year 1232
9 2 RBC Capital Markets 2 Years 1311
9 3 RBC Capital Markets 3 Years 1363
[解决办法]
没有环境,提供一个思路
把数据库的数据读到datatable中,同现有的datatable做联合查询
ref:http://topic.csdn.net/t/20020418/14/657290.html
[解决办法]
不是很明白...
------------------
用一个dataset加载两个datatable;
然后设置dataset的datarelation
最后把数据源设置为你的dataset,就可以看到两个datatable连接的效果了
[解决办法]
DataTable.columns.add( "Name ");
DataTable.columns.add( "Label ");
for(i=0;i <DataTable.rows.count;i++)
{
A=new A(DataTable.Rows[i][ "AnalystID "].ToString(),DataTable.Rows[i][ "PeriodID "].ToString())
DataTable.Rows[i][ "Name "]=A.Name;
DataTable.Rows[i][ "Label "]=A.Label;
}
由于时间问题,以上给你个大体的思路,你可以在此基础上修改调试,A是从数据库中取数的对象。
[解决办法]
两个办法:
1:做联合查询,在付给DATASET,datagrid.datasource=dataset;
2,自定义datagrid,再每列付值,这办法不好。