repeater用法一步一步详讲,用来绑定和显示数据信息

来源:互联网 发布:ubuntu 16.04 ip设置 编辑:程序博客网 时间:2024/05/01 16:57

估计要分两部:

 一部分UI部分:在一个div里面可以写个repeater服务器控件,用来横排显示需要的数据;<asp:Repeater id="" runnat="servece" ....................>

首先,repeater这个控件,有head,items,foot三个部分,不一定全用。

然后,布局:headtemplate里面写上显示的字段栏,<th align=字段文字位置,居中是center  class=样式>字段名称</th>

        若干字段后,就改写显示数据部分,也就是itemtemplate,这个数据段书写类似head,但有个地方要注意就是<%#Eval('xxxx')%>这部分, 最好写这个数据字段的列要对应headtemplate的字段列,可以这样写<td align=center ><asp:label id="xxx" runate ="service" Text='<%#Eval("xianshiID")%>'></asp:label></td>,这里再次说明一下,这个Eval部分是执行在后台,后台给ui显示赋值来着。

          举例:<td align="center"><asp:Label ID="Value1" runat="server" Text='<%#Eval("Value") %>'></asp:Label> </td>

        如果没有数据,可以在footertemplate中添加一行visible='<%#Repeate.Items.Count==0 %>'属性,然后添加<tr><td align=xx>没有数据</td></tr>;

        

    二部分后台部分这就是Repeater控件UI页显示,前面的主要部分,下面说说后台要做的

   在后台,你需要把数据跟Repeater控件绑定才能显示数据,我们可以按下面来做:

        A:在页面加载的时候,实现RepeaterName.source = 一个datatable类型的返回(写一个返回函数最好),然后是               RepeaterNmae.DataBind();

        B:

                  B1: 在这个datatable类型的返回中,我们首先要写一个datatable类型的函数实现栏目的显示字段,

                           DataTable One = new DataTable();

                           One.Columns.Add("xianshiID");//注意与页面Eval中的ID对其

                             return   One;//暂定为返回给TableStart

                  B2: 然后再这个返回的DataTable容器中写,然后

             如果数据比较多,可以循环写:DataRow ro = TableStart.newRow();//这里就新产生了datatabel类型的One的     一行,对应页面上的一列,

    然后,我们需要将数据库读出的一行数据填写到这个ro行里面,

                           ro[0] = 我数据读出来的一个数据;

             B3: 然后,必须是TableStart来用添加到里面,TableStart.add.Row(ro);

            最后经过循环,tablestart已经将所要显示的数据都存起来了,然后return回去,就是一个datatable类型的返          回,这个就是绑定给Repeater的数据,数据源;


   三部分操作部分

        A:关于Repeater的数据删除操作,首先要在Ui中写上删除按钮

                  在head,itemtemplate,foot三部分的itemtemplate部分最后添加一列

<td align=xxx >

             <asp:linkbutton id=xxx Text="删除" runate="server" CommanName="nameYouself"  CommanAugumnet='关键字,一般用<%#Eval("ID")+"&"+Eval("ID2")%>来写,主要是后台跟踪传递而已' >

            </asp:linkbutton>

</td>

         B:

           在后台用RepeaterName_ItemsCommand(object source,RepeaterCommandEventArgs e)

           {

                   try
                                {
                                    if (e.CommandName == "Link")
                                          {
                                                string[] key = e.CommandArgument.ToString().Split('&');                      
                                                  xxxxxxxxxx其它数据操作,删除操作;

                                            }
                                 }
                   catch {   }

            }

        上面的代码生成是双击repeater产生的,也即是<asp:Repeater ID="RepeaterShow" runat="server"  ..........
            onitemcommand="RepeaterShow_ItemCommand">也就是repeater的onitemcommand事件;

0 0
原创粉丝点击