数据访问之Repeater控件

Posted on 2004-11-08 11:42  生活即技术  阅读(445)  评论(0)    收藏  举报

1.

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
<script language="VB" runat="server">

    
Sub Page_Load(Sender As Object, E As EventArgs)
        
Dim DS As DataSet
        
Dim MyConnection As SqlConnection
        
Dim MyCommand As SqlDataAdapter
        MyConnection 
= New SqlConnection("server=(local);database=Achem;uid=sa;pwd=;")
        MyCommand 
= New SqlDataAdapter("select * from user_service", MyConnection)
        DS 
= New DataSet()
        MyCommand.Fill(DS, 
"user_service")
        MyRepeater.DataSource 
= DS.Tables("user_service").DefaultView
        MyRepeater.DataBind()
    
End Sub

</script>
<body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0"> 
  
<ASP:Repeater id="MyRepeater" runat="server">
      
<HeaderTemplate>
        
<table width="100%" style="font: 9pt 宋体">
          
<tr style="background-color:DFA894">
            
<th>
              编号
            
</th>
            
<th>
              用户名
            
</th>
                
</tr>
      
</HeaderTemplate>
      
<ItemTemplate>
        
<tr style="background-color:FFECD8">
          
<td>
           
<A href="<%# DataBinder.Eval(Container.DataItem, "id""purchase.aspx?titleid={0}") %>" >  <%# DataBinder.Eval(Container.DataItem, "id") %></a>     </td>
          
<td>
            
<%# DataBinder.Eval(Container.DataItem, "uid") %>
          
</td>
           
</tr>
      
</ItemTemplate>
      
<FooterTemplate>
        
</table>
      
</FooterTemplate>
  
</ASP:Repeater>
</body>
</html>

1.
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
<script language="VB" runat="server">

    
Sub Page_Load(Sender As Object, E As EventArgs)
        
Dim DS As DataSet
        
Dim MyConnection As SqlConnection
        
Dim MyCommand As SqlDataAdapter
        MyConnection 
= New SqlConnection("server=(local);database=Achem;uid=sa;pwd=;")
        MyCommand 
= New SqlDataAdapter("select * from user_service", MyConnection)
        DS 
= New DataSet()
        MyCommand.Fill(DS, 
"user_service")
        MyRepeater.DataSource 
= DS.Tables("user_service").DefaultView
        MyRepeater.DataBind()
    
End Sub

</script>
<body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0"> 
  
<ASP:Repeater id="MyRepeater" runat="server">
      
<HeaderTemplate>
        
<table width="100%" style="font: 9pt 宋体">
          
<tr style="background-color:DFA894">
            
<th>
              编号
            
</th>
            
<th>
              用户名
            
</th>
                
</tr>
      
</HeaderTemplate>
      
<ItemTemplate>
        
<tr style="background-color:FFECD8">
          
<td>
           
<A href="<%# DataBinder.Eval(Container.DataItem, "id""purchase.aspx?titleid={0}") %>" >  <%# DataBinder.Eval(Container.DataItem, "id") %></a>     </td>
          
<td>
            
<%# DataBinder.Eval(Container.DataItem, "uid") %>
          
</td>
           
</tr>
      
</ItemTemplate>
      
<FooterTemplate>
        
</table>
      
</FooterTemplate>
  
</ASP:Repeater>
</body>
</html>

 <a href="<%# databinder.eval(container.dataitem,"id","purchase.aspx?titleid={0})" %>" > 中的databinder.eval 是个很重要的方法,能够格式化数据
2.

<html><head> <script language="VB" runat="server">
        
Sub Page_Load(sender As Object, e As EventArgs)

            
If Not IsPostBack Then
                
Dim values As ArrayList = New ArrayList()

                values.Add(
new PositionData("Microsoft""Msft"))  'values中的内容是一个类
                values.Add(new PositionData("Intel""Intc"))
                values.Add(
new PositionData("Dell""Dell"))

                Repeater1.DataSource 
= values
                Repeater1.DataBind

                Repeater2.DataSource 
= values
                Repeater2.DataBind
            
End If
        
End Sub


        
class PositionData

            
Dim m_name As String
            
Dim m_ticker As String
            
Public Sub New(name As String, ticker As String)  '实例化类
                MyBase.New
                m_name 
= name
                m_ticker 
= ticker
            
End Sub


            
ReadOnly Property Name As String
              
Get
                
Return m_name
              
End Get
            
End Property


            
ReadOnly Property Ticker As String
              
Get
                
Return m_ticker
              
End Get
            
End Property

        
End Class

    
</script>
</head>
<body>
    
<h3><font face="宋体">重复器示例</font></h3>

    
<form runat=server>
        
<b>Repeater1:</b>
        
<asp:Repeater id=Repeater1 runat="server">

            
<HeaderTemplate>

                
<table border=1>
                  
<tr>
                    
<td><b>公司</b></td>
                    
<td><b>符号</b></td>
                  
</tr>
            
</HeaderTemplate>
            
<ItemTemplate>
                
<tr>
                  
<td> <%# DataBinder.Eval(Container.DataItem, "Name") %> </td>
                  
<td> <%# DataBinder.Eval(Container.DataItem, "Ticker") %> </td>
                
</tr>
            
</ItemTemplate>
            
<FooterTemplate>
                
</table>
            
</FooterTemplate>
        
</asp:Repeater>
         
</form>
</body>
</html>

 这段代码感觉很好,它是在数组values添加了几个实例化的类。最后通过用<%#DataBinder.Eval(Container.DataItem."Ticker")%>访问类中的属性,并返回数据