水晶报表的问题:我对textbox设置了边框,预览数据是的时候发现当数据为空的时候,边框显示。比如说:
table:
col1 col2
a    a
     b
c    c
当显示第二条数据的时候,col1的边框没有了。
请问是怎么回事?

解决方案 »

  1.   

    在取数据的时候,将null替换为' '试试...
      

  2.   

    在取数据的时候,将null替换为' '试试...
    -----------------------
    水晶报表如何改SQL啊?好象不能改吧
      

  3.   

    这里有个Table使用的技术点,你看一下
    <table border=1>
    <tr><td>asdfasdf</td><td>aaaaa</td><td>bbbbb</td></tr>
    <tr><td>asdfasdf</td><td>ccccc</td><td>ddddd</td></tr>
    <tr><td>asdfasdf</td><td>eeeee</td><td>fffff</td></tr>
    <tr><td>asdfasdf</td><td>ggggg</td><td>hhhhh</td></tr>
    <tr><td>asdfasdf</td><td>iiiii</td><td>jjjjj</td></tr>
    <tr>
               <td rowspan=3>kkkkk</td>
               <td rowspan=3>lllll</td>
               <td>mmmm1</td>           
            </tr>       
            <tr><td>mmmm2</td></tr>
    <tr><td>mmmm3</td></tr>
    </table>
      

  4.   

    附: *.cs后台代码的写法//存放最终结果字符串
    string strHtmlStr;            
                
    //存放表格头字符串
    System.Text.StringBuilder stbHead = new System.Text.StringBuilder();
    stbHead.Append("<table border=1 width=100%  class=\"Table\">")
       .Append("       <TR>")
       .Append("          <TD align=\"center\" class=\"HeaderStyle\">姓名</TD>")
       .Append("          <TD align=\"center\" class=\"HeaderStyle\">个人评论总量</TD>")
       .Append("          <TD align=\"center\" class=\"HeaderStyle\">专案名称</TD> <TD align=\"center\" class=\"HeaderStyle\">个人评论数量</TD> ")
       .Append("          <TD align=\"center\" class=\"HeaderStyle\">评论总量</TD> <TD align=\"center\" class=\"HeaderStyle\">角色</TD>")
       .Append("       </TR>");

    strHtmlStr = stbHead.ToString();     //将头追加

    //存放表格中间n行数据字符串
    System.Text.StringBuilder stbBody = new System.Text.StringBuilder();

    for(int i = 0; i < ds.Tables.Count; i++)
    {
    if(this.ddlDisplayNum.SelectedValue != "")
    {
    if(i >= int.Parse(this.ddlDisplayNum.SelectedValue))
    {
    break;
    }
    }
    string intDetailNum = (ds.Tables[i].Rows.Count).ToString();  //格式化表格用
    stbBody.Append("           <TR>")
       .Append("               <TD rowspan="+intDetailNum+" align=\"center\"   class=\"TableTitle\">"                                 
                                        + "<a onclick=window.open('"+this.XframeSysInfo.SysRoot + this.XframeSysInfo.MainPage.Name+"?ModuleID=CRMPSCommentRead&ReportName=CommentStatDetail&StaffNo="+ds.Tables[i].Rows[0]["StaffNo"].ToString() + "&StartTime=" + strStartTime +"&EndTime="+strEndTime+"','popuppage','width=800,height=600,top=60,left=100,scrollbars,resizable')  style='CURSOR: hand'>"+ds.Tables[i].Rows[0]["FullName"].ToString()+"</a>"+
                                                  "</TD> ");                //姓名
    try
    {
    if(ds.Tables[i].Rows[0]["OneToAllProjNum"].ToString().Trim() == "0")  ////如果为零时不加链接
    {
    stbBody.Append("           <TD rowspan="+intDetailNum+" align=\"right\" class=\"TableContent\">0</TD>");                
    }
    else
    {
    stbBody.Append("           <TD rowspan="+intDetailNum+" align=\"right\" class=\"TableContent\">"                             
    + "<a onclick=window.open('"+this.XframeSysInfo.SysRoot + this.XframeSysInfo.MainPage.Name+"?ModuleID=CRMPSCommentRead&ReportName=CommentStatDetail&StaffNo="+ds.Tables[i].Rows[0]["StaffNo"].ToString() + "&StartTime=" + strStartTime +"&EndTime="+strEndTime+"','popuppage','width=800,height=600,top=60,left=100,scrollbars,resizable')  style='CURSOR: hand'>"+ds.Tables[i].Rows[0]["OneToAllProjNum"].ToString()+"</a>"+
    "</TD>");                
    }
    }
    catch
    {
    //stbBody.Append("        <TD rowspan="+intDetailNum+" align=\"center\" class=\"TableContent\">"+"0"+"</TD>");  
    }
               
    stbBody.Append("               <TD align=\"center\" class=\"TableContent\">" +"<a href="+this.XframeSysInfo.SysRoot+ this.XframeSysInfo.MainPage.Name+"?ModuleID=CRMPreSell&Func=ReadProject&ProjNo="+ds.Tables[i].Rows[0]["ProjNo"].ToString()+" target=\"_blank\">"+ds.Tables[i].Rows[0]["ProjName"].ToString()+        "</TD>");  
    if(ds.Tables[i].Rows[0]["OneToOneProjNum"].ToString().Trim() == "0")    
    {
    stbBody.Append("               <TD align=\"right\" class=\"TableContent\">0</TD>");
    }
    else
    {
    stbBody.Append("               <TD align=\"right\" class=\"TableContent\">"
    + "<a onclick=window.open('"+this.XframeSysInfo.SysRoot + this.XframeSysInfo.MainPage.Name+"?ModuleID=CRMPSCommentRead&ReportName=CommentStatDetail&StaffNo="+ds.Tables[i].Rows[0]["StaffNo"].ToString()+"&ProjNo="+ds.Tables[i].Rows[0]["ProjNo"].ToString() + "&StartTime=" + strStartTime +"&EndTime="+strEndTime+"','popuppage','width=800,height=600,top=60,left=100,scrollbars,resizable')  style='CURSOR: hand'>"+ds.Tables[i].Rows[0]["OneToOneProjNum"].ToString()+"</a>"+
    "</TD>");           
    }

    if(ds.Tables[i].Rows[0]["MansToOneProjNum"].ToString().Trim() == "0")
    {
    stbBody.Append("               <TD align=\"right\" class=\"TableContent\">0</TD>");          
    }
    else
    {
    stbBody.Append("               <TD align=\"right\" class=\"TableContent\">" 
    + "<a onclick=window.open('"+this.XframeSysInfo.SysRoot + this.XframeSysInfo.MainPage.Name+"?ModuleID=CRMPSCommentRead&ReportName=CommentStatDetail&ProjNo="+ds.Tables[i].Rows[0]["ProjNo"].ToString() + "&StartTime=" + strStartTime +"&EndTime="+strEndTime+"','popuppage','width=800,height=600,top=60,left=100,scrollbars,resizable')  style='CURSOR: hand'>"+ds.Tables[i].Rows[0]["MansToOneProjNum"].ToString()+"</a>"+
    "</TD>");          
    }
    stbBody.Append("               <TD align=\"center\" class=\"TableContent\">" + (ds.Tables[i].Rows[0]["UserStyle"].ToString().Trim() == "1" ? "<font color='blue'>11</font>" : "22") +"</TD>")  //角色
          .Append("           </TR>");
    for(int j = 1; j < ds.Tables[i].Rows.Count; j++)
    {
    stbBody.Append("  <TR>")
    .Append("          <TD align=\"center\" class=\"TableContent\">" +"<a href="+this.XframeSysInfo.SysRoot+ this.XframeSysInfo.MainPage.Name+"?ModuleID=CRMPreSell&Func=ReadProject&ProjNo="+ds.Tables[i].Rows[j]["ProjNo"].ToString()+" target=\"_blank\">"+ds.Tables[i].Rows[j]["ProjName"].ToString()+        "</TD>");  //专案名称

    if(ds.Tables[i].Rows[j]["OneToOneProjNum"].ToString().Trim() == "0") 
    stbBody.Append("          <TD align=\"right\" class=\"TableContent\">0</TD>");           
    }
    else
    {
    stbBody.Append("          <TD align=\"right\" class=\"TableContent\">"                                 
    + "<a onclick=window.open('"+this.XframeSysInfo.SysRoot + this.XframeSysInfo.MainPage.Name+"?ModuleID=CRMPSCommentRead&ReportName=CommentStatDetail&StaffNo="+ds.Tables[i].Rows[j]["StaffNo"].ToString()+"&ProjNo="+ds.Tables[i].Rows[j]["ProjNo"].ToString() + "&StartTime=" + strStartTime +"&EndTime="+strEndTime+"','popuppage','width=800,height=600,top=60,left=100,scrollbars,resizable')  style='CURSOR: hand'>"+ds.Tables[i].Rows[j]["OneToOneProjNum"].ToString()+"</a>"+
    "</TD>");           
    }

    if(ds.Tables[i].Rows[j]["MansToOneProjNum"].ToString().Trim() == "0")  
    {
    stbBody.Append("          <TD align=\"right\" class=\"TableContent\">0</TD>");
    }
    else
    {
    stbBody.Append("          <TD align=\"right\" class=\"TableContent\">" 
                             + "<a onclick=window.open('"+this.XframeSysInfo.SysRoot + this.XframeSysInfo.MainPage.Name+"?ModuleID=CRMPSCommentRead&ReportName=CommentStatDetail&ProjNo="+ds.Tables[i].Rows[j]["ProjNo"].ToString() + "&StartTime=" + strStartTime +"&EndTime="+strEndTime+"','popuppage','width=800,height=600,top=60,left=100,scrollbars,resizable')  style='CURSOR: hand'>"+ds.Tables[i].Rows[j]["MansToOneProjNum"].ToString()+"</a>"+
                      "</TD>");          
    }

    stbBody.Append("          <TD align=\"center\" class=\"TableContent\">" + (ds.Tables[i].Rows[j]["UserStyle"].ToString().Trim() == "1" ? "<font color='blue'>111</font>" : "222") +"</TD>")  
    .Append("     </TR>");   
    }                  
    }
    strHtmlStr += stbBody.ToString();
    //存放表格尾字符串
    System.Text.StringBuilder stbTail = new System.Text.StringBuilder();
    stbTail.Append("</TABLE>");   
    strHtmlStr += stbTail;
      

  5.   

    老兄门请看好题目,是水晶报表,不是Table
      

  6.   

    lz你的水晶报表可以直接连DataSet呀
    获取数据时用isnull将null换成""
      

  7.   

    把数据填成' '或'&nbsp;'
      

  8.   

    获取数据时用isnull将null换成""
      

  9.   

    在xsd文件中將字段的類型設置為String,sql语句isnull(sqlfield,‘’),就ok了
      

  10.   

    俺刚学.net
    还不知道什么叫水晶报表
    帮你顶ba
      

  11.   

    还没有搞定
    是你的Table写法不对,将下列代码保存为*.html格式,看一下效果,这是一个Table的知识点
    <table border=1>
    <tr><td>asdfasdf</td><td>aaaaa</td><td>bbbbb</td></tr>
    <tr><td>asdfasdf</td><td>ccccc</td><td>ddddd</td></tr>
    <tr><td>asdfasdf</td><td>eeeee</td><td>fffff</td></tr>
    <tr><td>asdfasdf</td><td>ggggg</td><td>hhhhh</td></tr>
    <tr><td>asdfasdf</td><td>iiiii</td><td>jjjjj</td></tr>
    <tr>
               <td rowspan=3>kkkkk</td>
               <td rowspan=3>lllll</td>
               <td>mmmm1</td>           
            </tr>       
            <tr><td>mmmm2</td></tr>
    <tr><td>mmmm3</td></tr>
    </table>
      

  12.   

    sql:  isnull(NAME,'  ');
      

  13.   

    一个纯空的表格是不显示边框的,你给里面加个" "或html的&nbsp;
      

  14.   

    数据库中null和“”的问题会导致搂住说的情况。。嘿嘿 瞎掰 检分的
      

  15.   

    Select jgbm,isnull(jgmc,' ') as jgmc from as2jg
    还是不行啊
      

  16.   

    我只做过ActiveReport报表,没作过水晶报表,不过很想学习一些
      

  17.   

    我发现不管是null,还是"",水晶报表取数据的时候可能都trim()过了,所以这两种格式都不行。会不会要在报表什么地方设置一下呢?水晶报表 高手哪去了?