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

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

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

    發表于:2007-07-14來源:作者:點擊數: 標簽:
    BoundColumn 最主要的功能是利用LinkButton 或PushButton 來顯示數據源中的一個字段內容,并且可以觸發DataGrid Web 控件的事件。其使用語法如下所示: ASP:ButtonColumn ButtonType=LinkButton | PushButton CommandName=命令名稱 DataTextField=DataSource


        BoundColumn 最主要的功能是利用LinkButton 或PushButton 來顯示數據源中的一個字段內容,并且可以觸發DataGrid Web 控件的事件。其使用語法如下所示:

    <ASP:ButtonColumn
    ButtonType="LinkButton | PushButton"
    CommandName="命令名稱"
    DataTextField="DataSourceField"
    DataTextFormatString="FormatString"
    FooterText="FooterText"
    HeaderImageUrl="url"
    HeaderText="HeaderText"
    ReadOnly="True | False"
    SortField="DataSourceFieldToSortBy"
    Text="ButtonCaption"
    Visible="True | False"
    />

    其中除了共同基礎屬性以及樣式對象外,常用的屬性如下表所示:

    下列程序代碼范例以BoundColumn 來顯示字段內容,并且顯示使用者點選了哪一筆記錄:

    <%@Import Namespace=System.Data.ADO%>
    <%@Import Namespace=System.Data%>
    <!--#Include File="GetTable.inc"-->
    <Html>
    <Form Runat="Server">
    <ASP:DataGrid Id="dgA" AllowPaging="True" PageSize="5"
    OnPageIndexChanged="dgA_PageChg" Runat="Server"
    PagerStyle-Mode="NumericPages" BorderColor="#808080"
    HeaderStyle-Font-Names="Courier New"
    HeaderStyle-BackColor="#D1DCEB"
    HeaderStyle-Font-Bold="True" HeaderStyle-HorizontalAlign="Center"
    AutoGenerateColumns="False"
    OnItemCommand="dgA_ICmd">
    <Property Name="Columns">
    <ASP: ButtonColumn
    HeaderText="姓名"
    DataTextField="UserName"/>
    <ASP:BoundColumn
    HeaderText="電話"
    DataField="UserTel"/>
    <ASP:BoundColumn
    HeaderText="住址"
    DataField="UserAdd"/>
    </Property>
    </ASP:DataGrid>
    </Form>
    <ASP:Label Id="Label1" Runat="Server"/>
    <Script Language="VB" Runat="Server">
    Sub Page_Load(Sender As Object, e As EventArgs)
    If Page.IsPostBack=False Then
    Dim dtDataTable As DataTable=GetTable("CH08\MyWeb.mdb", "Members")
    dgA.DataSource=dtDataTable.DefaultView
    Page.DataBind()
    End If
    Label1.Text="您目前沒有點選任何記錄."
    End Sub
    Sub dgA_PageChg(Sender As Object, e As DataGridPageChangedEventArgs)
    Dim dtDataTable As DataTable=GetTable("CH08\MyWeb.mdb", "Members")
    dgA.DataSource=dtDataTable.DefaultView
    Page.DataBind()
    End Sub
    Sub dgA_ICmd(Sender As Object, e As DataGridCommandEventArgs)
    Dim shtRow As Short= e.Item.ItemIndex+1
    If shtRow<>0 Then
    Label1.Text="您點選了第" & shtRow.ToString() & _
    " 個字段的數據, 這<br>筆數據在數據源中是第"
    Label1.Text+=((dgA.CurrentPageIndex * dgA.PageSize) +
    shtRow).ToString & _
    "筆記錄."
    End If
    End Sub
    </SCRIPT>
    </Html>


        上述范例我們指定DataGrid Web 控件的OnItemCommand 屬性為dgA_ICmd,表示按下顯示使用者名稱的ButtonColumn 時會觸發dgA_CCmd 事件,并且執行dgA_Icmd 事件程序;如下程序代碼片段所示:

    Sub dgA_ICmd(Sender As Object, e As DataGridCommandEventArgs)
    Dim shtRow As Short= e.Item.ItemIndex+1
    If shtRow<>0 Then
    Label1.Text="您點選了第" & shtRow.ToString() & _
    " 個字段的數據, 這<br>筆數據在數據源中是第"
    Label1.Text+=((dgA.CurrentPageIndex * dgA.PageSize) +
    shtRow).ToString & _
    "筆記錄."
    End If
    End Sub

        在這個事件程序中,我們利用e.Item.ItemIndex 屬性取得使用者點選了第幾個項目的Index 值;由于Index 由0 開始,所以我們加上1 表示點選了第幾個項目。如果沒有任何項目被點選,則e.Item.ItemIndex 屬性傳回-1。由于變量shtRow 為e.Item.ItemIndex 加1 的結果,所以我們藉由判斷變量shtRow 是否為0 來得知使用者是否有選擇選項。
        因為e.Item.ItemIndex 屬性傳回的是使用者在DataGrid Web 控件上所點選的項目,并不是記錄在數據源的地址;所以我們透過計算目前的頁數索引乘以每頁的紀錄筆數后,再加上目前所在的字段即可得到該筆數據在數據源中的實際地址。所以使用者若點選了第六頁的第四個字段,表達式則為(5*5)+4,結果29 就是記錄在數據源的實際順序。

    若要取得該筆記錄在數據源中的索引值,由于Index 值是由0 開始計數,所以只要再減去1 即可。

    原文轉自: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>