表格如图..请问怎样能够实现?没有找到直线工具.....另外.在代码中可以方便调整列的宽度,谢谢
解决方案 »
- 主程序下bin\debug的DLL与被调用项目的bin\debug不一致,无法调试
- 我用Ado.net操作一个表,不小心在调试时把数据表全部更新了,我有备份,我想从备件中只恢复某个表的数据,怎么办?
- 求一个XML的例子,很简单!(菜鸟问题~)
- 如何用NETWORK SERVICE帐户构建WindowsIdentity实体对象?
- 使用NHibernate过程中,能插入能查询,就是不能更新和删除,这是为什么?
- 如何在屏幕任意区域显示一个操作窗口或信息窗口,而当焦点在这个窗口时,不影响主窗口的活动状态?
- 我是菜鸟,高手请赐教,别用蛋砸我,解决就结帖
- 如何引用dll及相关xml文件
- 续 ----关于水晶报表的分组打印,以及页面求和
- 来来来,看看大家都喜欢什么姿势。
- 寻求出现异常后的调试方法!!!
- hathtable 与hathmap的区别???
http://www.cnblogs.com/xzcxlyh/archive/2007/12/03/664049.html
http://www.diybl.com/course/1_web/webjs/200824/99371.html这个CSDN源码下载,我自己没有下载,你自己下来看是不是吧o(∩_∩)o...
http://download.csdn.net/source/465398
(1) private void SetupDataGridViewColumns()
{
//设置datagrid不自动生成列
dgvCustomDoctor.AutoGenerateColumns = false;
//定制ID列
DataGridViewTextBoxColumn idColumn = new DataGridViewTextBoxColumn();
idColumn.HeaderText = "编号";
idColumn.DataPropertyName = "id";//与ID数据成员映射
idColumn.ReadOnly = true;//是否只读
idColumn.Width = 80;//列宽度
//将列添加到DataGridView中
dgvCustomDoctor.Columns.Add(idColumn); //定制Name列
DataGridViewTextBoxColumn nameColumn = new DataGridViewTextBoxColumn();
nameColumn.HeaderText = "姓名";
nameColumn.DataPropertyName = "name";
nameColumn.Width = 100;
//该列添加到DataGridView
dgvCustomDoctor.Columns.Add(nameColumn); //定制科室office列
//DataGridViewCheckBoxColumn 复选框列
//DataGridViewImageColumn 图片列
DataGridViewComboBoxColumn officeColum = new DataGridViewComboBoxColumn();
officeColum.DataSource = ds.Tables["office"].DefaultView;
officeColum.DisplayMember = "name";//显示科室名称
officeColum.ValueMember = "id";//科室对应的ID
officeColum.DataPropertyName = "office";
officeColum.ValueType = typeof(string);
officeColum.Width = 150;
//该列添加到DataGridView
dgvCustomDoctor.Columns.Add(officeColum);
}
做完一个表格后,再在列慢慢的分,试试看行不行,我也没有绘制过;
(2)还有就像楼主所说的,水晶报表.n_n
/// 页面输出控制
/// </summary>
/// <param name="str">输出字符串,主要雕用这个方法,一直画</param>
private void rpw(string str)
{
Response.Write(str);
}
// 输出开始
private void WriteReportStart()
{
rpw("<center><FONT face=宋体 size=2>");
if(this.isPrint) rpw("<table border=1 id=table2 width=700");
else rpw("<table width=700");
rpw("<td id=tdtitle width=80>");
rpw("征免");
rpw("</td>");
rpw("<td id=tdcontent width=80>");
rpw(dtMain.Rows.Count>0?dtMain.Rows[0]["levymode"].ToString().Trim():"");//这里可用结果集添入。
rpw("</td>");
rpw("<td id=tdtitle width=60>");
rpw("制单人");
rpw("</td>");
rpw("<td id=tdcontent width=70>");
rpw(dtMain.Rows.Count>0?dtMain.Rows[0]["Maker"].ToString().Trim():"");
中间很多都是用rpw来画。看你要求了。HTML要好,基本都是这样一行行写出来的。
可以在HTML里画,基本用这个方法来画
} //结束
private void WriteReportEnd()
{
rpw("</table>");
rpw("</FONT></center>");
}
不过这样写很麻烦。:(
但是上的方法,把表头看做一颗树,每个单元格为做树的一个节点...我的神呀...数据库结构学得太差..不太看得懂....我想简单一点.不用树的思想 ,比如我想合并单元格A1,A2应该怎样做?如果我要合并A1,B1应该怎么做...等这个程序做完,一次补习一下基础的..请大家再帮帮忙..
基本原理也就是用Response.Write写HTML代码。
例如合并什么的,你可以在Dreamweaver或者在VS的HTML里规划好。
贴到CS里,一句句加rpw()就。。
谢谢 艺术疯子,但是我用的是VC.NET里面没有CS
"Column1,Column1,Column1,Column1,Column2,Column2",
"Column1,Column1,Column3,Column5,Column5,Column5",
"Column1,Column2,Column3,Column4,Column7,Column8",
"Column1,Column2,Column3,Column4,Column7,Column6"};
想我下大家为什么,会出现并不包含" grid"的定义