控件中国网现已改版,您看到的是老版本网站的镜像,系统正在为您跳转到新网站首页,请稍候.......
中国最专业的商业控件资讯网产品咨询电话:023-67870900 023-67871946
产品咨询EMAIL:SALES@COMPONENTCN.COM

ASP.NET:DataList控件的选择输入功能

作者:未知 出处:不详 2010年02月02日 阅读:

利用 DataList 控件的<SelectedItemTemplate> 属性,就可以随心所欲的布置表中的数据。根据链接,友好地显示出用户感兴趣的数据,我们来看下面的实例。

在 DataCon Web 项目里添加一个 Web 窗体,命名为 DataList_Sample2.aspx,添加一个DataList 控件,DataList_Sample2.aspx 的主要 HTML 代码如下:


<form id="Form1" method="post" runat="server">
 <asp:DataList id="DataList1"
 runat="server"  RepeatColumns="1"
 BorderColor="#000099" CellPadding="0"
 BorderWidth="1px" GridLines="Both">
 <SelectedItemStyle Font-Size="X-Small"></SelectedItemStyle>
 <HeaderTemplate>  学生信息情况  </HeaderTemplate>
 <SelectedItemTemplate>
  姓名:<%# DataBinder.Eval(Container.DataItem,"name") %>
 (编号:<%# DataBinder.Eval(Container.DataItem,"id") %>)<br>
  性别:<%# DataBinder.Eval(Container.DataItem,"sex") %><br>
  专业:<%# DataBinder.Eval(Container.DataItem,"major") %><br>
 班级:<%# DataBinder.Eval(Container.DataItem,"class") %><br>
 住址:<%# DataBinder.Eval(Container.DataItem,"address") %><br>
 电话:<%# DataBinder.Eval(Container.DataItem,"tel") %><br>
 电邮:<%# DataBinder.Eval(Container.DataItem,"email") %><br>
 <asp:LinkButton Runat="server" CommandName="close">关闭</asp:LinkButton>
 </SelectedItemTemplate>
 <AlternatingItemStyle BackColor="Gainsboro"></AlternatingItemStyle>
 <SeparatorStyle BackColor="#339966"></SeparatorStyle>
 <ItemStyle Font-Size="X-Small"></ItemStyle>
 <ItemTemplate>
  编号:<%# DataBinder.Eval(Container.DataItem,"id") %>
  姓名:<%# DataBinder.Eval(Container.DataItem,"name") %>
 <asp:LinkButton Runat="server" CommandName="moreinfor" >
 详情</asp:LinkButton>
 </ItemTemplate>
 <HeaderStyle Font-Names="宋体" Font-Bold="True"   BackColor="LightSteelBlue"></HeaderStyle>
   </asp:DataList>
</form>

在这个实例中的应用中,我们需要注意的是<SelectedItemTemplate>的布局格式和添加控件的格式使用。当我们点击 DataList 控件中的 LinkButton 控件时,辨别是由哪个 LinkButton 控件引发的依据是 LinkButton 控件的 CommandName 属性。DataList 控件中所部署的 Button 类型的控件所引发的事件是 ItemCommand 事件过程,我们要做的就是在这个过程里添加响应代码。

下面来看 DataList_Sample2.aspx.vb 中的逻辑代码:

'-----code  begin----
'省略命名空间的引用
 Public Class DataList_Sample2
    Inherits System.Web.UI.Page
 #Region " Web 窗体设计器生成的代码 "
    '此处省略了窗体设计器生成的代码
   #End Region
 Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)    Handles MyBase.Load
        '在此处放置初始化页的用户代码
        getdata()
    End Sub
    Sub getdata()
        Dim mycon As OleDb.OleDbConnection
        Try
            mycon = New OleDb.OleDbConnection ("provider=microsoft.jet.oledb.4.0;data

   source=" + Server.MapPath(".") + "\StudentInfor.mdb")
            Dim mycmd As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter

   ("select *  from student", mycon)
            Dim dt As Data.DataSet = New Data.DataSet
            mycmd.Fill(dt)
            DataList1.DataSource = dt.Tables(0).DefaultView
            DataList1.DataBind()
            Catch ex As Exception
            Response.Write("程序出现错误,信息描述如下:<br>" & ex.Message.ToString)
            Finally
            mycon.Close()
            End Try
            End Sub
 Private Sub DataList1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e 

 As System.EventArgs) Handles DataList1.SelectedIndexChanged
 End Sub
 Private Sub DataList1_ItemCommand(ByVal source As Object, ByVal e As 

 System.Web.UI.WebControls.DataListCommandEventArgs) Handles 

 DataList1.ItemCommand
        If e.CommandName = "moreinfor" Then
            '当单击的是[详情]链接时,显示详细信息
            DataList1.SelectedIndex = e.Item.ItemIndex
        ElseIf e.CommandName = "close" Then
            '当单击的是[关闭]链接时,关闭详细信息
            DataList1.SelectedIndex = -1
        End If
        getdata()
 End Sub
 End Class
'-----code  end -------


ASP.NET 没有系统 DataList 控件的内置分页功能,但这不代表 DataList 控件不支持分页,我们可以通过 DataAdapter.Fill(DataTable,intStartpage,intmaxpages,strDataTablename)来以编程的方式实现 DataList 的分页功能。读者可以参见 DataGrid 控件的自定义分页功能中的有关知识。

                                                           
                                                            【注:本文由控件中国网转载】

热推产品

  • ActiveReport... 强大的.NET报表设计、浏览、打印、转换控件,可以同时用于WindowsForms谀坔攀戀Forms平台下......
  • AnyChart AnyChart使你可以创建出绚丽的交互式的Flash和HTML5的图表和仪表控件。可以用于仪表盘的创......
首页 | 新闻中心 | 产品中心 | 技术文档 | 友情连接 | 关于磐岩 | 技术支持中心 | 联系我们 | 帮助中心 Copyright-2006 ComponentCN.com all rights reserved.重庆磐岩科技有限公司(控件中国网) 版权所有 电话:023 - 67870900 传真:023 - 67870270 产品咨询:sales@componentcn.com 渝ICP备12000264号 法律顾问:元炳律师事务所 重庆市江北区塔坪36号维丰创意绿苑A座28-5 邮编:400020
在线客服
在线客服系统
在线客服
在线客服系统