簡體   English   中英

如何在母版頁的GridView中實現數據表

[英]How to implement datatable in a gridview in a master page

我正在使用AdminLTE庫,並設計了帶有2個內容占位符的我的母版; 一個在頭部,另一個在身體。 我無法獲取gridview將其內容呈現在數據表中。

我從類文件中通過共享方法填充了gridview,效果很好。 我試圖在aspx表格的開頭部分編寫Javascript document.ready函數,但是gridview似乎無法識別該函數。

這是標記

<div class="box">
    <div class="box-header">
        <h3 class="box-title">List of available regions</h3>
    </div>
    <div class="box-body">
        <asp:GridView ID="grvRegions" runat="server" class="table table-bordered table-striped"
            EmptyDataText="Empty region list" OnRowEditing="OnRowEditing"
            OnRowCancelingEdit="OnRowCancelingEdit" OnRowUpdating="OnRowUpdating"
            AutoGenerateColumns="False" DataKeyNames="ID" AllowPaging="True">
            <Columns>
                <asp:TemplateField HeaderText="ID" InsertVisible="False" SortExpression="ID">
                    <EditItemTemplate>
                        <asp:Label ID="lblID" runat="server" Text='<%# Eval("ID")%>'></asp:Label>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label1" runat="server" Text='<%# Bind("ID")%>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Region" InsertVisible="False" SortExpression="ID">
                    <EditItemTemplate>
                        <asp:TextBox ID="txtEditRegion" required="required" CssClass="form-control" MaxLength="50" runat="server" Text='<%# Eval("Region")%>'></asp:TextBox>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="lblRegion" runat="server" Text='<%# Bind("Region")%>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField ShowHeader="False">
                    <EditItemTemplate>
                        <asp:LinkButton ID="lbtUpdate" CssClass="btn btn-success" runat="server" CausesValidation="True" CommandName="Update" Text="Update"></asp:LinkButton>
                        &nbsp;<asp:LinkButton ID="lbtCancel" CssClass="btn btn-danger" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel"></asp:LinkButton>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:LinkButton ID="lbtRemove" class="btn btn-info" runat="server" CausesValidation="False" CommandName="Edit" Text="Edit"></asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>

    </div>

</div>

這是為gridview檢索數據的方法

公共共享的子FillTabularData(容器為對象,spName為字符串,可選參數為SqlParameter = Nothing)

    Dim command As New SqlCommand(spName, connection)
        command.CommandType = CommandType.StoredProcedure
        If param IsNot Nothing Then
            command.Parameters.Add(param)
        End If
        If connection.State = ConnectionState.Closed Then
            connection.Open()
        End If
        Dim dTable As New DataSet
        Dim dAdapter As SqlDataAdapter = New SqlDataAdapter(command)
        dAdapter.Fill(dTable)
        container.DataSource = dTable
        container.DataBind()

End Sub

這是我在GridView文件的代碼后面的代碼中“ FillTabularData”方法的調用

Sub BindData()
    FillTabularData(grvRegions, "sp_list_regions")
    grvRegions.UseAccessibleHeader = True
    grvRegions.HeaderRow.TableSection = TableRowSection.TableHeader
End Sub

我希望輸出將在具有分頁,排序,搜索和每頁行數的數據表中呈現。

嘗試這樣(我對vb.net編碼不熟悉,請檢查語法)

Sub BindData()
 Dim dt As New DataSet 
 dt= FillTabularData("sp_list_regions")
 grvRegions.DataSource = dTable
 grvRegions.DataBind()
 grvRegions.UseAccessibleHeader = True
 grvRegions.HeaderRow.TableSection = TableRowSection.TableHeader
End Sub


Public Shared Function FillTabularData(spName As String, Optional param As SqlParameter = Nothing) As DataSet
Dim command As New SqlCommand(spName, connection)
    command.CommandType = CommandType.StoredProcedure
    If param IsNot Nothing Then
        command.Parameters.Add(param)
    End If
    If connection.State = ConnectionState.Closed Then
        connection.Open()
    End If
    Dim dTable As New DataSet
    Dim dAdapter As SqlDataAdapter = New SqlDataAdapter(command)
    dAdapter.Fill(dTable)
    return dTable

End Function 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM