【发布时间】:2018-10-03 05:15:38
【问题描述】:
我在将数据显示到 gridview 时遇到了这个问题。我想将 BindData 中的数据显示到自定义的 gridview 中,如下所示。我已经试过了 将代码写在与 html > working 相同的页面上(但我的高级工程师不希望这样做),所以现在我需要使用后端代码重做它并使用数据集将这些(ID,Name,Age)传递到那些标签 ID .我怎样才能做到这一点?
<asp:GridView ID="MyGridView" runat="server" CellPadding="5" CssClass="ControlStyle"
ForeColor="#333333" Font-Size="8px" GridLines="Vertical" width="40%" CaptionAlign="Left"
PageSize="15" AllowPaging="True" OnPageIndexChanging="MyData_OnPageIndexChanging"
AutoGenerateColumns="False" enableEventValidation="false">
<Columns >
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:ImageButton ID="img" runat="server" ImageUrl="~/Images/arrow-2a.png" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="ID">
<ItemTemplate>
<asp:Label ID="lbl_ID" runat="server" Font-Size="10px" CssClass="ControlStyleUpperCase"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<asp:Label ID="lbl_Name" runat="server" Font-Size="10px" CssClass="ControlStyleUpperCase"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Age">
<ItemTemplate>
<asp:Label ID="lbl_Age" runat="server" Font-Size="10px" CssClass="ControlStyleUpperCase"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
我想显示下面的数据。
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
If Not Me.IsPostBack Then
Me.BindData()
End If
End Sub
Private Sub BindData()
Dim sCon As String = "MyConnectionString"
Using con As New SqlConnection(sCon)
Using cmd As New SqlCommand(" select * from users ")
Dim sda As New SqlDataAdapter()
Try
cmd.Connection = con : con.Open()
sda.SelectCommand = cmd
Dim dt As New DataTable
sda.Fill(dt)
'BIND DATABASE WITH THE GRIDVIEW.
MyGridView.DataSource = dt
MyGridView.DataBind()
Catch ex As Exception
txtMsg.Text = ex.Message
End Try
End Using
End Using
End Sub
使用上面的代码,我的页面什么都没有显示,只是白色的画布,我哪里做错了?请指导。
谢谢
【问题讨论】:
-
你能解释一下“白色画布”是什么意思吗?是只显示空白页而没有显示任何网格,还是数据未绑定到网格?
-
是的,只是一个没有显示任何内容的空白页面...正确,此页面应该只显示那些网格。
-
你需要用数据表的columnName设置标签的Text属性或者使用asp:BoundField而不是asp:TemplateField