如何打印datagrid中的数据?

yigenanren 2006-10-24 04:14:32
在网上找了很多代码和例子,还是没有搞定!
领导要求要有网格线,还要能都调整列宽,各位高手帮帮忙,谢了!
...全文
433 18 打赏 收藏 举报
写回复
18 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
dingjian2008 2006-12-07
  • 打赏
  • 举报
回复
mark
ltg 2006-10-26
  • 打赏
  • 举报
回复
http://www.olayafootwear.com/files/ltg_goeasy/pzdy.rar
livode 2006-10-25
  • 打赏
  • 举报
回复
对比了两种方式,发现了问题所在。要如此设置mh.ColsAlign
mh.ColsAlign = "CCCCCC";此字符串表示每一列的对齐方式,此处共有6列,每列都居中。
在实际使用过程中,可以采用如下代码:
string mstrAlignment = "";
//所有列居中对齐
for(int i = 0 ; i < cols ; i++)
{
mstrAlignment += "C";
}
mh.ColsAlign = mstrAlignment;
livode 2006-10-25
  • 打赏
  • 举报
回复
用这种方式可以自动居中
GoldPrinter.MultiHeader mh = new MultiHeader(1,6);

GoldPrinter.MultiHeader mh = new MultiHeader();
这种方式就不行了。
livode 2006-10-25
  • 打赏
  • 举报
回复
刚才看了下金质的源码,发现,用这种方法可以使列标题居中。
GoldPrinter.MultiHeader mh = new MultiHeader(1,6);
mh.SetText(0,0,"aaa");
mh.SetText(0,1,"bbb");
mh.SetText(0,2,"fff");
mh.SetText(0,3,"eee");
mh.SetText(0,4,"ddd");
mh.SetText(0,5,"ccc");
//mh.DataSource = columnhead;
mh.ColsWidth = columnwidth;
//mh.ColsAlign = "Center";
misGoldPrinter.MultiHeader = mh;
yigenanren 2006-10-25
  • 打赏
  • 举报
回复
项目很急,哪位手里有现成的类库,最好能给我发过来,谢谢了!
zhtflhs@126.com

收到立即给分,十分感谢!
yigenanren 2006-10-25
  • 打赏
  • 举报
回复
livode(啊水):
还是很谢谢你
livode 2006-10-25
  • 打赏
  • 举报
回复
应该是金质打印通的bug吧。
yigenanren 2006-10-25
  • 打赏
  • 举报
回复
为什么只有一列设置上了,其他列都没有效果啊!
livode 2006-10-25
  • 打赏
  • 举报
回复
mh.ColsAlign属性设置标题的对齐方式,string
((GoldPrinter.Body)(misGoldPrinter.Body)).ColsAlignString属性设置列的对齐方式,string
yigenanren 2006-10-25
  • 打赏
  • 举报
回复
Knight94(愚翁) :
你给的例子非常好,但我不知道如何下手,如何改
比方说,列名的大小、对齐方式、颜色,内容的大小和对齐方式

再帮帮忙,谢谢了!
Knight94 2006-10-25
  • 打赏
  • 举报
回复
datagrid printing Class V1.0b
http://www.codeproject.com/cs/miscctrl/DataGridPrinter.asp
yigenanren 2006-10-25
  • 打赏
  • 举报
回复
livode(啊水) :
非常感谢你的代码,对我的帮助很大,还有个问题,如何设置网格内数据的对齐方式
yigenanren 2006-10-25
  • 打赏
  • 举报
回复
livode(啊水)
十分感谢!!1
Qim 2006-10-24
  • 打赏
  • 举报
回复
建议到孟子E章的博去看看。
livode 2006-10-24
  • 打赏
  • 举报
回复
关于金质打印通的一点代码:
misGoldPrinter.Title = head;//表头
misGoldPrinter.Top = "姓名:"+name+"|部门:"+department+"|房间号:"+room; //表眉
misGoldPrinter.Bottom = bottom;//表尾
GoldPrinter.MultiHeader mh = new MultiHeader();//列标题
mh.DataSource = columnhead; //列标题的数据源,string [];
mh.ColsWidth = columnwidth;//各列标题宽,int []
misGoldPrinter.MultiHeader = mh;
misGoldPrinter.DataSource = dataSet.Tables["st_personal_b"];//设置打印内容
((GoldPrinter.Body)(misGoldPrinter.Body)).IsAverageColsWidth = false;//是否平均列宽
((GoldPrinter.Body)(misGoldPrinter.Body)).ColsWidth = columnwidth;//设置各列宽
yigenanren 2006-10-24
  • 打赏
  • 举报
回复
BSC(VirtualCat):

金质打印通,试过了,但不知道如何调整列宽,另外还有列名不能现实出来,实在是苦恼
BSC 2006-10-24
  • 打赏
  • 举报
回复
可以用网上的金质打印通
相关推荐
发帖
C#

10.8w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2006-10-24 04:14
社区公告

让您成为最强悍的C#开发者