| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2287 人关注过本帖
标题:[讨论][求助]不规则表格的实现
取消只看楼主 加入收藏
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
结帖率:33.33%
收藏
 问题点数:0 回复次数:13 
[讨论][求助]不规则表格的实现
想实现如下表格:
图片附件: 游客没有浏览图片的权限,请 登录注册


数据库结构及纪录如下:

图片附件: 游客没有浏览图片的权限,请 登录注册


由于该表的列(每单元的户数,一梯一户、一梯二户)是不固定的,所以就没考虑用水晶报表,改为输出Excel表格。

我的思路如下:
1、先取出A号楼,共几个单元,每个单元的最大层数和每层最大户数
取出的值我放到了数组里:
三单元,8层,2户
二单元,8层,1户
一单元,8层,3户

2、依次按每个单元循环进行赋值
定义数组:
三单元:
string MyData[]=new string[8,2]
二单元:
string MyData[]=new string[8,1]
一单元:
string MyData[]=new string[8,3]

赋值(取出值就赋,无值就为空):
三单元:
for(int i=0;i<=8-1;i++)//楼层
{
for (int j=0;j<=2-1;j++)//每层户数
{
MyData[i,j]=????
//sqlcommand cmd=new ("select 房号,面积,户主 from 房产库 where 楼房=A and 单元=三单元",conn);
}
}

3、输出到Excel表格


现在的问题就是第2步,如何赋值的问题。也就是从sqlserver取值怎么赋给MyData?(我无法确定从数据库取到的数据该放到哪个MyData[i,j]里)。

这只是我个人的思路,还有什么好的方法,希望能给与指导!谢谢!

eHuxWsEd.jpg (68.33 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 表格 讨论 
2007-05-31 09:52
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
回复:(jockey)[讨论][求助]不规则表格的实现
图片改小了一点:
图片附件: 游客没有浏览图片的权限,请 登录注册


2007-05-31 09:55
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 

谢谢jacklee!
我原来也是这么想的,但是数据表的纪录不能保证有 比如三单元:8*2=16条纪录,而在Excel里是16个格,问题在于怎么判断填充的位置


2007-05-31 10:10
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
Excel我按照列来绘制
比如:先绘制三单元的表格(8*2),这一部已经实现了。

问题是数据怎么赋进去?根据什么赋

比如Excel表格的 B5位置怎么存放的是806?B6位置怎么存放的是706?....

2007-05-31 10:26
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
我原来考虑的是用数组存放数据:MyData[8,2]也就是对应Excel的18个空格,赋值,然后再把数组写到Excel中即可。

呵呵,但是我不会判断数据如何赋到 MyData[i,j]里。思路,思路

2007-05-31 10:28
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
因为数据不是8*2=16条纪录(比如三单元只有4条纪录),而表格是16条纪录,所以不能一一对应,故想个什么方法赋值

2007-05-31 10:31
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
这样吧,我们不考虑Excel表头的事,只想赋值MyData[8,2]的问题:

比如搜索三单元的数据,一共4条纪录:
ID 楼房 单元 房号 楼层 面积 户主

1 A号楼 三单元 806 8 90 李某
2 A号楼 三单元 706 7 100 王某
5 A号楼 三单元 805 8 60 刘某


怎么赋到MyData[8,2]一共16个数组里?

2007-05-31 10:40
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 

也就是
MyData[0,0]="1 A号楼 三单元 806 8 90 李某"

MyData[0,1]="5 A号楼 三单元 805 8 60 刘某"

MyData[1,0]="2 A号楼 三单元 706 7 100 王某"

MyData[1,1]=""

MyData[2,1]=""

....


MyData[8,1]=""//1层西户

MyData[8,2]=""//1层东户



2007-05-31 10:44
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
因为只有把 MyData[8,2]一共16条数据都赋上值,我才可以往Excel 16个空格中写纪录啊。

当然,可以判断这4条纪录应该存放在 MyData[i,j]的坐标,再往Excel写这4个纪录。

问题就是不会判断这4条纪录应存放Mydata[i,j]中的i,j不会判断

2007-05-31 10:50
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
引用jacklee:
FOR(INT I=ROW;I<ROW+3;I++)
FOR(INT J=COL;J<COL+6;J++)
MYDATA[ROW,COL]=这里等等。我想你有没有得到数据库里面的东西啊。最好是DATASET或是一个已赋值了的二维数组


呵呵,又回到1楼了,DataSet只有或者二维表只有4条纪录,而赋值是连续的,如何赋?

2007-05-31 10:54
快速回复:[讨论][求助]不规则表格的实现
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029601 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved