水晶报表的问题:我对textbox设置了边框,预览数据是的时候发现当数据为空的时候,边框显示。比如说:
table:
col1 col2
a a
b
c c
当显示第二条数据的时候,col1的边框没有了。
请问是怎么回事?
table:
col1 col2
a a
b
c c
当显示第二条数据的时候,col1的边框没有了。
请问是怎么回事?
解决方案 »
- C# winform 线程间操作无效,从不是创建控件的线程访问它
- 能否实现按钮按下后不弹起,再点击时才弹起?
- c# winform程序登录问题
- 如何做一个xml的通用解析类?
- 我要疯了 请开发过C# c/s 工程的大哥大姐指点下
- 请教一个关于repeater中使用用户控件时,时序的问题,在线等待,谢谢!
- 跪求!!我想用C#实现qq抖动窗口。给详细讲解一下代码。谢谢!
- C#的winform程序里面可否使用RadioButtonList类?
- 层与层方法调用时,请问怎样进行跟踪调试?
- 请大家推荐一个比较好的文本编辑器给我,我用.NET Framework SDK来写C#的程序啊!希望大家帮助!
- (d+8)[-3]*=2 语句的效果是什么?100分问题!
- 请问我怎么知道用户IE安装在哪里?
-----------------------
水晶报表如何改SQL啊?好象不能改吧
<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>
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;
获取数据时用isnull将null换成""
还不知道什么叫水晶报表
帮你顶ba
是你的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>
还是不行啊