表格如图..请问怎样能够实现?没有找到直线工具.....另外.在代码中可以方便调整列的宽度,谢谢

解决方案 »

  1.   

    我只需要这个表头....用水晶报表做这个表头吗?没用过这东西表头下面数据部份已经使用dataview了
      

  2.   

    用c1flexgrid试试,和微软控件比较相似,换起来也方便.
      

  3.   

    完全可以,不是分,而且把cell合并.
      

  4.   

    DotNetBar里面的DateGridView可以实现吗?应该怎样做呢?
      

  5.   

    DataGridView多表头的实现
    http://www.cnblogs.com/xzcxlyh/archive/2007/12/03/664049.html
      

  6.   

    还有这里也有,网上很多,自己找下
    http://www.diybl.com/course/1_web/webjs/200824/99371.html这个CSDN源码下载,我自己没有下载,你自己下来看是不是吧o(∩_∩)o...
    http://download.csdn.net/source/465398
      

  7.   

    winform吗?如果是的话.可以添加webbrowser控件..然后拼html给webbrowser就可以了.
      

  8.   

    datagridview就可以搞定了,用不到别的了
      

  9.   

     
    (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
      

  10.   

    /// <summary>
    /// 页面输出控制
    /// </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>");
    }
    不过这样写很麻烦。:(
      

  11.   

    简单的线条,用GDI+画就可以。
      

  12.   

    本来都想放弃了....但是大家这么热心帮助 ...继续努力吧.....
    但是上的方法,把表头看做一颗树,每个单元格为做树的一个节点...我的神呀...数据库结构学得太差..不太看得懂....我想简单一点.不用树的思想 ,比如我想合并单元格A1,A2应该怎样做?如果我要合并A1,B1应该怎么做...等这个程序做完,一次补习一下基础的..请大家再帮帮忙..
      

  13.   

    我说的那种方法不知道适合楼主要求不,里面都宽度,自己调都很容易。
    基本原理也就是用Response.Write写HTML代码。
    例如合并什么的,你可以在Dreamweaver或者在VS的HTML里规划好。
    贴到CS里,一句句加rpw()就。。
      

  14.   


    谢谢 艺术疯子,但是我用的是VC.NET里面没有CS
      

  15.   

    呵呵,我说的CS是后缀名。.cs文件。可能我表达有误。
      

  16.   

    你能用html拼出这样的表格吗?其实很容易拼的.能拼出来.用webbrowser最简单了.
      

  17.   

         this.grid.TitleHeads = new string[] {
            "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"的定义
      

  18.   

    可以设置table的runat="server",然后在后台用HtmlTable、HtmlTableRow、HtmlTableCell等对象直接添加,这样比较灵活。