问题描述如下
聊天记录表
字段如下:说话人帐号,时间,内容。现在有个Repeater,结构是这样的
----------------------------------------------------
|                   时间            内容            |
|                   时间            内容            |
|说话人帐号         时间            内容            |
|                   时间            内容            |
|                   时间            内容            |
| [btn_next] [btn_previous] [btn_first] [btn_last]  |
|                                                   |
|                   时间            内容            |
|                   时间            内容            |
|说话人帐号         时间            内容            |
|                   时间            内容            |
|                   时间            内容            |
| [btn_next] [btn_previous] [btn_first] [btn_last]  |
|
|                   时间            内容            |
|                   时间            内容            |
|说话人帐号         时间            内容            |
|                   时间            内容            |
|                   时间            内容            |
| [btn_next] [btn_previous] [btn_first] [btn_last]  |
|---------------------------------------------------|
| [btn_next] [btn_previous] [btn_first] [btn_last]  |
|---------------------------------------------------|
也就是说可以点击按钮对每个Repeater里的Item进行翻页,查看同一个说话人更多的聊天内容也可以翻页查看 更多 说话人的相关内容
我应该怎么做?大家给点思路有指教的话,我的MSN是 [email protected]  高手不吝赐教

解决方案 »

  1.   

    <repeater>
       <itemTemplete>
          <table>
             <tr>
                <td>说话人帐号</td>
                <td><repeater>
                       <itemTemplete>
                          <table>
                              <td> 
                                    <tr> 时间 </tr>
                                    <tr> 内容 </tr>
                              </td>
                          </table>
                       </itemTemplete>
                   </repeater>
                 </td>
             </tr>
          </table>
        </itemTemplete>
      </repeater>
      

  2.   

    这是我的代码,你改改
    pagedDataSource=new PagedDataSource();
    pagedDataSource.DataSource=ds.Tables[0].DefaultView;
    pagedDataSource.AllowPaging=true;
    pagedDataSource.PageSize=pageSize1;
      

  3.   

    最简单的方法是使用用户控件各自的翻页功能和各自的用户控件中实现 Repeater控件的翻页可以使用 PagedDataSource或分页的存储过程http://blog.csdn.net/fengfangfang/
      

  4.   

    现在还有个问题就是我查询MSN聊天记录时,因为MSN帐号里有@,所以不能直接用,估计得要转义一下,但我对SQL不太熟悉,请大家写一下核心的几句。我的存储过程是这样的
    ALTER PROCEDURE dbo.SP_Select_Chat_History
    /*根据目标号码查找其所有聊天内容*/
    (
    @tablename varchar(40)='QQ聊天记录表',
    @tuserid varchar(50)
    )
    AS
    /* SET NOCOUNT ON */
    declare @sqlcmd varchar(1000) /*----如果@tablename=msn 应该对@tuserid里的@进行转义---*/ set @sqlcmd = 'select * from ' + @tablename + ' where 目标号码=' + @tuserid + ' order by 时间 desc'

    exec(@sqlcmd)
      

  5.   

    ALTER FUNCTION dbo.f_ESC
    (@checkStr nvarchar(50),@tablename nvarchar(40))
    /*对@进行转义操作*/RETURNS nvarchar(60)
    AS
    BEGIN
    declare @re nvarchar(60);
    if(@tablename = 'MSN聊天记录表')then
    begin
    REPLACE(@checkStr,'@','/@')
    end
    RETURN (@re);ENDReplace附近有错误   急着用 大家帮写一下
      

  6.   

    ALTER FUNCTION dbo.f_ESC
    (@checkStr nvarchar(50),@tablename nvarchar(40))
    /*对@进行转义操作*/RETURNS nvarchar(60)
    AS
    BEGIN
    declare @re nvarchar(60);
    if (@tablename = 'MSN聊天记录表')
    set @re=REPLACE(@checkStr,'@','/@') --用第三个字符串替换第一个字符串中的所有第二个字符串
    RETURN (@re);
    END
    问题解决  可惜这里不能给自己分呀 …………