首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

数字到星号的转换,该怎么解决

2012-01-16 
数字到星号的转换前台DataList绑定推荐度 %#DataBinder.Eval(Container.DataItem, commend )% ,这样显

数字到星号的转换
前台DataList绑定推荐度 <%#   DataBinder.Eval(Container.DataItem, "commend ")   %> ,这样显示出来的是数字,但是我想让它显示相应数量的 "★ "号,如何处理。
3         ★★★
4         ★★★★
1         ★
2         ★★
我就是想要后面的效果,麻烦各位给点意见,谢谢。

[解决办法]
绑定的时候动态添加一个列 通过数字来获取★。。
[解决办法]
把★做成图片
1对应一个★的图片
2对应二个★★的图片
.....
图片命名为1.jpg 2.jpg
然后...
不用说了吧。。
[解决办法]
<%# ShowCustom(DataBinder.Eval(Container.DataItem, "commend ").ToString()) %>

在.cs里定ShowCustom方法。
public string ShowCustom(string strnum)
{
int num = Convert.Int32(strnum);
string r= " ";
for(int i=0;i <num;i++)
{
r+= "* ";
}
return r;
}
[解决办法]
首先你绑顶数字那一列应该隐藏,然后在ItemDataBound()那个事件里写代码,在另一个列里根据从隐藏列里取出的数据绑定相应数量的“★”;
我在Datagrid里是这样可以!DataList应该一样吧!
private void dgAllRes_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Label lb = (Label)e.Item.Cells[11].FindControl( "lblIsCommend ");//取你要显示信息的那一列
int commend = Convert.Toint32((e.Item.Cells[1].Text).ToString());//取隐藏列的值
if(commend==1)
{
lb.Text = "★ ";
}
//同样````搞一下应该可以了!大概是这样的```!

}
}

热点排行