• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • DataList Web--OnItemCommand 事件

    發表于:2007-07-14來源:作者:點擊數: 標簽:
    OnItemCommand 當在ItemTemplate 中所宣告的Button 或LinkButton 控件觸發事件時,如果該控件的CommandName 屬性內容不是Edit、Cancel、Delete 或Update 時,便觸發本事件。其宣告語法為: Sub OnItemCommand(Sender As Object, e As DataListCommandEventAr


        OnItemCommand 當在ItemTemplate 中所宣告的Button 或LinkButton 控件觸發事件時,如果該控件的CommandName 屬性內容不是Edit、Cancel、Delete 或Update 時,便觸發本事件。其宣告語法為:

    Sub OnItemCommand(Sender As Object, e As DataListCommandEventArgs)
    ...
    End Sub

    其中參數e 有2 個屬性,如下表所示:

        要使用本事件前,首先必須在ItemTemplate 中宣告LinkButton 或Button Web 控件。下列范例在ItemTemplate 中宣告一個LinkButton Web 控件,當使用者按下LinkButton Web 控件后,會顯示該項目的詳細數據:

    <%@Import Namespace=System.Data.ADO%>
    <%@Import Namespace=System.Data%>
    <!--#Include File="GetTable.inc"-->
    <Html>
    <Form runat="Server">
    <ASP:DataList Id="dlA" OnItemCommand="dlA_ICMD" GrIdLines="both"
    Runat="Server">
    <Template Name="ItemTemplate">
    <ASP:Image ImageUrl="ico1.gif" Runat="Server"/>
    姓名: <%#Container.DataItem("UserName")%>
    <ASP:LinkButton Id="lbShow" Text=">" Runat="Server"/>
    </Template>
    <Template Name="SelectedItemTemplate">
    <ASP:Image ImageUrl="ico1.gif" Runat="Server"/>
    姓名: <%#Container.DataItem("UserName")%>
    <ASP:LinkButton Id="lbClose" Text="<" Runat="Server"/><br>
    電話: <%#Container.DataItem("UserTel")%><br>
    住址: <%#Container.DataItem("UserAdd")%><br>
    電郵: <%#Container.DataItem("UserEmail")%><br>
    </Template>
    </ASP:DataList>
    </Form>
    <Script Language="VB" Runat="Server">
    Sub Page_Load(Sender As Object, e As EventArgs)
    Dim dtDataTable As DataTable=GetTable("CH05\MyWeb.mdb", "Members")
    dlA.DataSource=dtDataTable.DefaultView
    Page.DataBind()
    End Sub
    Sub dlA_ICMD(Sender As Object, e As DataListCommandEventArgs)
    If e.CommandSource.Id="lbShow" Then
    dlA.SelectedIndex=e.Item.ItemIndex
    ElseIf e.CommandSource.Id="lbClose"
    dlA.SelectedIndex=-1
    End If
    dlA.DataBind()
    End Sub
    </SCRIPT>
    </Html>



        上述范例我們定義了ItemTemplate 以及SelectedItemTemplate 這兩個樣版,并指定DataListWeb 控件的OnItemCommand 屬性為dlA_ICMD,表示當Template 中的控件引發事件時,只要引發事件的控件其CommandName 屬性值不是Edit、Cancel、Delete 或Update 時,才會觸發本事件。不過我們在Template 中的LinkButton 控件并沒有指定其CommandName 屬性,符合觸發OnItemCommand 事件的條件;所以這個范例在觸發事件時會執行dlA_ICMD 事件程序。由于DataList 會引發事件,所以DataList 控件必需被放置于<Form> 標注之中。當事件觸發時我們就可以透過e.CommandSource 來取得引發事件的控件之參考,并判斷其Id 屬性。若其Id屬性為lbShow,則將DataList Web 控件的SelectedIndex 屬性指定為e.Item.ItemIndex,e.Item.ItemIndex 表示被選到項目的Index 值,所以該筆記錄就會以SelectedItemTemplate 來顯示詳細資料;若Id 屬性為lbClose,則將DataList Web 控件的SelectedIndex 設為-1,表示沒有任何選項被選擇。另外DataList 設定SelectedIndex 屬性完畢后必須要再呼叫DataBind 方法,讓DataList Web 控件重新再以新的設定來顯示數據源中的數據。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>