可以这样解决,在cs页里写一函数,用于判断一个帖子是否有回复,如果有回延复,则返回回复的内容,没有则返回"无回复".然后把这个方法绑定到itemtemplate的某个控件的text(可以定义一个label控件).
下面是一个例子,用于显示某个图片,首先用IsImageAvailable()方法判断是否存在这幅图片,返回是一个布尔值,从而控制img控件和Label控件是否显示.如果有图片,则img控件显示,否则显示Label控件.
<asp:TemplateColumn runat="server" HeaderText="Photo">
<itemtemplate>
<img runat="server" width="50"
visible='<%# IsImageAvailable(DataBinder.Eval(Container.DataItem, "lastname").ToString()) %>'
src='<%# "images\\" + DataBinder.Eval(Container.DataItem, "lastname") + ".bmp" %>' />
<asp:label runat="server" text="<i><small>No picture available.</small></i>"
visible='<%# !IsImageAvailable(DataBinder.Eval(Container.DataItem, "lastname").ToString()) %>' />
</itemtemplate>
</asp:TemplateColumn>//IsImageAvailable()函数
private bool IsImageAvailable(String strLastName)
{
String strImageFile = "images\\" + strLastName + ".bmp";
return File.Exists(Server.MapPath(strImageFile));
}
解决思路大概就是这样.
下面是一个例子,用于显示某个图片,首先用IsImageAvailable()方法判断是否存在这幅图片,返回是一个布尔值,从而控制img控件和Label控件是否显示.如果有图片,则img控件显示,否则显示Label控件.
<asp:TemplateColumn runat="server" HeaderText="Photo">
<itemtemplate>
<img runat="server" width="50"
visible='<%# IsImageAvailable(DataBinder.Eval(Container.DataItem, "lastname").ToString()) %>'
src='<%# "images\\" + DataBinder.Eval(Container.DataItem, "lastname") + ".bmp" %>' />
<asp:label runat="server" text="<i><small>No picture available.</small></i>"
visible='<%# !IsImageAvailable(DataBinder.Eval(Container.DataItem, "lastname").ToString()) %>' />
</itemtemplate>
</asp:TemplateColumn>//IsImageAvailable()函数
private bool IsImageAvailable(String strLastName)
{
String strImageFile = "images\\" + strLastName + ".bmp";
return File.Exists(Server.MapPath(strImageFile));
}
解决思路大概就是这样.
select GuestName,case when(ReplyContent is null) then 'none' else ReplyContent end as reply from GuestBook好了,结账!
你可以把你的数据存为一个DATASET,然后再绑定到datagrid 上,
使用FOR 循环来判断,如果一个字段为空,如下赋值:
for (int i, i<ds.table[0].rows.count,i++)
{
ds.table[0].row[i]["字段"] = "未回复";