asp.net - 如何在母版页的网格视图中实现数据表
问题描述
我正在使用 AdminLTE 库,并为我的主设计了 2 个内容占位符;一个在头部,另一个在身体部分。我无法让我的 gridview 在数据表中呈现其内容。
我通过一个工作正常的类文件中的共享方法填充了gridview。我试图在我的 aspx 表单的 head 部分编写 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检索数据的方法
Public Shared Sub FillTabularData(container As Object, spName As String, Optional param As 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
推荐阅读
- ios - iOS 14 Beta 3 之后的蓝牙配对问题
- sql - VB 和 MariaDB SQL
- inno-setup - 根据 Inno Setup 中选定的组件启动自定义代码
- google-cloud-platform - GCP 从命令行或通过 API 创建组织
- shell - 通过使用 Expect 配置 mgre 的 ODD 错误:无效的命令名称“0”
- tensorflow - tf.pow 和 torch.pow 的结果不同
- python - 如何将带有 selenium python 的文本发送到 a 内的 iframe?
- r - 在 R (2020) 上安装预测包时出错
- c# - 如何在没有未知密钥的情况下访问 Json 数据?C# Unity3D
- python - Python - 切片错误:IndexError:索引 3 超出轴 2 的范围,大小为 3