将数据表绑定到GridView后未显示行 [英] Rows not showing up after binding DataTable to GridView
本文介绍了将数据表绑定到GridView后未显示行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
你好,
我在ASP.NET/VB.NET中有一个Web应用程序.
这是我第一次使用gridview控件.我正在尝试向GridView添加值.当我按下一个按钮时,它将执行以下简单代码:
将DT设为新的DataTable()
DT.Columns.Add(" , String .Empty.GetType())
DT.Columns.Add(" , String .Empty.GetType())
DT.Columns.Add(" , String .Empty.GetType())
DT.Rows.Add(New 字符串(){" , 值", 值"})
DT.Rows.Add(New 字符串(){" , 值", 值"})
DT.Rows.Add(New 字符串(){" , 值", 值"})
myGridViewControl.DataSource = DT
myGridViewControl.DataBind()
执行代码后,GridView将显示3列标题,但行不存在.我做错了什么?
谢谢.
解决方案
您使用的是绑定字段还是模板字段.对于绑定字段,提及datafield属性就足够了.
如果您在网格内部使用了模板字段,那么您需要绑定该值.
< asp:移除id ="B" runat ="server" text =<%#Eval(" val)%& gt;" =" xmlns:asp =#unknown">
导入系统 导入System.Data 导入System.Configuration 导入System.Web 导入System.Web.Security 导入System.Web.UI 导入System.Web.UI.WebControls 导入System.Web.UI.WebControls.WebParts 导入System.Web.UI.HtmlControls 导入System.Data.OleDb 局部公共类_Default2 继承System.Web.UI.Page 私人骗局作为OleDbConnection 专用da OleDbDataAdapter 私有dt作为数据表 私有cmd作为OleDbCommand 私有查询为字符串 受保护的子Page_Load(ByVal发件人为对象,ByVal e为EventArgs) GridView2.DataSource = createdatatable() GridView2.DataBind() 结束子 公共函数createdatatable()作为DataTable 昏暗的dt作为新的DataTable() dt.Columns.Add(New System.Data.DataColumn(" ,GetType(Integer)) ) dt.Columns.Add(New System.Data.DataColumn(" ,GetType(字符串))) dt.Columns.Add(New System.Data.DataColumn(" ,GetType(字符串))) dt.Columns.Add(New System.Data.DataColumn(" ,GetType(字符串))) dt.Columns.Add(New System.Data.DataColumn(" ,GetType(字符串))) dt.Columns.Add(New System.Data.DataColumn(" ,GetType(双))) dt.Columns.Add(New System.Data.DataColumn(" ,GetType(Integer)) ) dt.Columns.Add(New System.Data.DataColumn(" ,GetType(字符串))) dt.Columns.Add(New System.Data.DataColumn(" ,GetType(字符串))) dt.Columns.Add(New System.Data.DataColumn(" ,GetType(字符串))) Dim dr As DataRow = dt.NewRow() dr( 0 )= " dr( 1 )= " dr( 2 )= " dr( 3 )= " dr( 4 )= " dr( 5 )= Convert.ToDouble( 35 . 50 ) dr( 6 )= Convert.ToInt32( 100 ) dr( 7 )= " dr( 8 )= " dr( 9 )= " dt.Rows.Add(dr) dt.AcceptChanges() 返回dt 结束功能
Hello,
I have a Web application in ASP.NET/VB.NET.
This is my first time using the gridview control. I''m trying to add values to a GridView. When I press a button, it executes the following simple code:
Dim DT As New DataTable()
DT.Columns.Add("Column1", String.Empty.GetType())
DT.Columns.Add("Column2", String.Empty.GetType())
DT.Columns.Add("Column3", String.Empty.GetType())
DT.Rows.Add(New String() {"value", "value", "value"})
DT.Rows.Add(New String() {"value", "value", "value"})
DT.Rows.Add(New String() {"value", "value", "value"})
myGridViewControl.DataSource = DT
myGridViewControl.DataBind()
After the code executes, the GridView shows the 3 column headers, but the rows are not there. What am I doing wrong?
Thanks.
解决方案
are you using bound field or template field..? for bound field mentioning the datafield property is enough.
If you have used template field inside the grid then u need to bind the value.
<asp:removed id="B" runat="server" text="<%# Eval(" val")%>"="" xmlns:asp="#unknown">
Imports System Imports System.Data Imports System.Configuration Imports System.Web Imports System.Web.Security Imports System.Web.UI Imports System.Web.UI.WebControls Imports System.Web.UI.WebControls.WebParts Imports System.Web.UI.HtmlControls Imports System.Data.OleDb Partial Public Class _Default2 Inherits System.Web.UI.Page Private con As OleDbConnection Private da As OleDbDataAdapter Private dt As DataTable Private cmd As OleDbCommand Private query As String Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) GridView2.DataSource = createdatatable() GridView2.DataBind() End Sub Public Function createdatatable() As DataTable Dim dt As New DataTable() dt.Columns.Add(New System.Data.DataColumn("srno", GetType(Integer))) dt.Columns.Add(New System.Data.DataColumn("returnno", GetType(String))) dt.Columns.Add(New System.Data.DataColumn("productid", GetType(String))) dt.Columns.Add(New System.Data.DataColumn("publisher", GetType(String))) dt.Columns.Add(New System.Data.DataColumn("productname", GetType(String))) dt.Columns.Add(New System.Data.DataColumn("rate", GetType(Double))) dt.Columns.Add(New System.Data.DataColumn("quantity", GetType(Integer))) dt.Columns.Add(New System.Data.DataColumn("tradedisc", GetType(String))) dt.Columns.Add(New System.Data.DataColumn("specialdisc", GetType(String))) dt.Columns.Add(New System.Data.DataColumn("netamount", GetType(String))) Dim dr As DataRow = dt.NewRow() dr(0) = "1" dr(1) = "110" dr(2) = "P001" dr(3) = "Goyal" dr(4) = "English Book" dr(5) = Convert.ToDouble(35.50) dr(6) = Convert.ToInt32(100) dr(7) = "10" dr(8) = "5" dr(9) = "110.00" dt.Rows.Add(dr) dt.AcceptChanges() Return dt End Function
这篇关于将数据表绑定到GridView后未显示行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文