[英]How to set a content page gridview visibility in master page Visual basic
[英]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>
<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.