DataList显示默认值,新手提问

小丫头 2010-12-24 05:02:02
我现在有个DataList嵌套了一个DataList,我嵌套里面的值全是用Label显示的,这些值都是从数据库中检索出来的,但问题出现了,如果数据库没有数据的情况下就啥也显示不出来,我们经理说就算没有数据只也要显示0;我郁闷啊
<asp:DataList cellpadding="0" cellspacing="0"  ID="DataList1" runat="server" DataKeyField="lei_bh" Width="100%"
onitemdatabound="DataList1_ItemDataBound">
<ItemTemplate>
<table border="0" style="border-left:solid 0px #11aadd; border-bottom:solid 1px #11aadd; width:100%" cellpadding="0" cellspacing="0">
<tr>
<td style="background-color:White; width:120px;border-right:solid 1px #11aadd">
<asp:Label ID="Label1" runat="server" Text='<%# Eval("lei_mc") %>'></asp:Label>
</td>
<td style="background-color:White;">
<asp:DataList cellpadding="0" cellspacing="0" ID="DataList2" runat="server" RepeatColumns="4"
RepeatDirection="Horizontal" ShowFooter="False" ShowHeader="False">
<ItemTemplate>
<table border="0" style="width:100%" cellpadding="0" cellspacing="0">
<tr>
<td style="border-left:solid 0px #11aadd; width:160px"><asp:Label ID="Label2" runat="server" Text='<%# Eval("zlei_mc") %>'></asp:Label>    <asp:Label ID="Label3" runat="server" Text='<%# Eval("sum") %>'></asp:Label>(<asp:Label ID="Label4" runat="server" Text='<%# Eval("zlei_dw") %>'></asp:Label>)</td>
</tr>
</table>
</ItemTemplate>
<EditItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
Font-Underline="False" Wrap="False" />
<AlternatingItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False"
Font-Strikeout="False" Font-Underline="False" Wrap="False" />
<ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
Font-Underline="False" Wrap="False" />
<SelectedItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
Font-Underline="False" Wrap="False" />
</asp:DataList></td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class ZBGL_SelectItem : PageBase
{
DB.data db = new DB.data();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataList();
}
}
private void DataList()
{
string sqlstr = "select * from tbl_zblei";
SqlDataReader dr = db.GetDR(sqlstr);
this.DataList1.DataSource = dr;
this.DataList1.DataBind();
}
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
DataList dl = (DataList)e.Item.FindControl("DataList2");
string ID = DataList1.DataKeys[e.Item.ItemIndex].ToString();
string sqlstr3 = "select tbl_zbzlei.zlei_mc,sum([sum]) as sum,tbl_zbzlei.zlei_dw from tbl_kucun left join tbl_zbzlei on tbl_zbzlei.zlei_bh=tbl_kucun.zlei_bh where tbl_zbzlei.lei_bh='" + ID + "' and dwbm=" + "'" + Session["dwbm"].ToString() + "' GROUP BY tbl_zbzlei.zlei_mc,tbl_zbzlei.zlei_dw";
SqlDataReader dr = db.GetDR(sqlstr3);
dl.DataSource = dr;
dl.DataBind();
}
}
...全文
512 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
koukoujiayi 2010-12-24
  • 打赏
  • 举报
回复
单数据为空时要显示一些你想要的,可以在DataList的<FooterTemplate>模板中加div,
有数据的话不显示这个div
           //...........
<FooterTemplate>
<div id="div1" runat ="server" style="background-color:#cccccc; height:100px;">
//这里加你需要的内容,文字,图片等等
</div>
</FooterTemplate>
</asp:DataList>
小丫头 2010-12-24
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 laowang134 的回复:]
不应该的啊。。

C# code
那在后台写方法。。
public string SetText(object o)
{
if(o.ToString()+""=="")
{return "0";}
else
{return o.ToString();}
}

Text='<%# SetText(Eval("zlei_mc")) %>'
[/Quote]还是不行,哎
laowang134 2010-12-24
  • 打赏
  • 举报
回复
不应该的啊。。
那在后台写方法。。
public string SetText(object o)
{
if(o.ToString()+""=="")
{return "0";}
else
{return o.ToString();}
}

Text='<%# SetText(Eval("zlei_mc")) %>'
小丫头 2010-12-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 laowang134 的回复:]
C# code
Text='<%# Eval("zlei_mc")==null?0:Eval("zlei_mc") %>'
[/Quote]我只需要改这里吗? 别的地方不用改吧? 虽然没报错,但没效果啊
小丫头 2010-12-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 laowang134 的回复:]
引用 4 楼 qq116927181 的回复:
引用 2 楼 laowang134 的回复:
C# code
Text='<%# Eval("zlei_mc")==null?0:Eval("zlei_mc") %>'
你的方法我用了,不好使啊,哦,还有,图片我没发上去,不知道怎么发

没效果?
[/Quote]
laowang134 2010-12-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 qq116927181 的回复:]
引用 2 楼 laowang134 的回复:
C# code
Text='<%# Eval("zlei_mc")==null?0:Eval("zlei_mc") %>'
你的方法我用了,不好使啊,哦,还有,图片我没发上去,不知道怎么发
[/Quote]
没效果?
小丫头 2010-12-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 laowang134 的回复:]
C# code
Text='<%# Eval("zlei_mc")==null?0:Eval("zlei_mc") %>'
[/Quote]你的方法我用了,不好使啊,哦,还有,图片我没发上去,不知道怎么发
laowang134 2010-12-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 qq116927181 的回复:]
现在显示的是这样:

而我要的效果是这样:
[/Quote]
无图无真相。。。
laowang134 2010-12-24
  • 打赏
  • 举报
回复
Text='<%# Eval("zlei_mc")==null?0:Eval("zlei_mc") %>'
小丫头 2010-12-24
  • 打赏
  • 举报
回复
现在显示的是这样:

而我要的效果是这样:

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

试试用AI创作助手写篇文章吧