我表现层用Repeater,后面代码:
private void GuestBook_List()
{
OleDbConnection myconn=new OleDbConnection(connstr);
myconn.Open();
string mysql="select * from GUESTBOOK order by ID desc";
OleDbDataAdapter da=new OleDbDataAdapter(mysql,myconn);
DataSet ds=new DataSet();
da.Fill(ds);                            Repeater.DataSource=ds.Tables[0].DefaultView;
Repeater.DataBind();
myconn.Close(); }我想请问两个问题:
<1>在前面显示留言时,我是这么做的:
<ItemTemplate><%# DataBinder.Eval(Container.DataItem,"CONTENT")%></ItemTemplate>但现在我想实现的效果是,先进行判断,如果管理员有回复,则再显示这条记录相应的<%# DataBinder.Eval(Container.DataItem,"Reply")%>,如果没有则不显示。现在的问题是怎么判断每条记录的一致性,譬如,把数据绑定到Repeater后,怎么同时取出这条记录的ID,来进行[Reply]是否为空???<2>我想在<ItemTemplate><%# DataBinder.Eval(Container.DataItem,"CONTENT")%></ItemTemplate>里加入数字,也就是通常的第一楼,第二楼......
该怎么加???
---------------
非常感谢!!!

解决方案 »

  1.   

    这样做:
    public object GetStr(string values)
    {
     if(Convert.int32(values)==1)
     {
       return "一楼";
     }
     if(.....)
     {
       ......
     }
    .....
    }
    调用如下:
    <%# GetStr(DataBinder.Eval(Container.DataItem,"CONTENT"))%>
      

  2.   

    楼上的,Convert.int32(values)==1,请问这个为什么会转换成1啊?
    还有就是你这个如果记录很多的话,这样挨个是不是太麻烦了,还有别的方法吗?还有我问的第一个问题,谢谢大家啊~~~
      

  3.   

    你用没用过itembound响应啊这样解决起来方便---------------------------
    苦海无边 回头无岸
    ---------------------------
      

  4.   

    robert2004(我能发财)能说说吗?以前看过一个例子,是用的DataReader,然后while(myreader.read())循环,那样也挺简单的。 这里我想问问用DataAdapter,绑定到Repeater怎么做?