【问题标题】:displaying data in asp gridview在asp gridview中显示数据
【发布时间】: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

标签: asp.net vb.net gridview


【解决方案1】:

感谢您的努力,我已经通过修改我的代码解决了这个问题

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
If Not Me.IsPostBack Then
    Me.BindData()
End If
End Sub

进入这个

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load   
If Not IsPostBack Then
    BindData()
End If
End Sub

我仍然不知道这两者之间有什么不同,但我设法得到了预期的结果。

【讨论】:

  • 首先用户表中有数据吗?
猜你喜欢
  • 1970-01-01
  • 2018-04-02
  • 1970-01-01
  • 1970-01-01
  • 2011-06-19
  • 1970-01-01
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多