从查询表适配器将数据绑定到网格View控件 [英] bind data to a grid View control from a Queries Table Adapter
问题描述
我正在使用数据集向导来生成我的数据集.现在,我添加了一个带有4个查询的查询表适配器,现在正尝试将数据输入到数据网格View控件中,以显示按查询排序的数据.但是,当我将数据绑定到数据网格View控件时,我总是收到错误消息.这是我的代码 导入
Hi I am using a dataset wizard to generate my dataset. I have now add a Queries Table Adapter with 4 queries inside it and am now trying to feed the data in to a data grid View control to display the data sorted by query. But I keep getting errors when I bind the data to the data grid View control. Here is my code Imports
导入 System.Data
Imports System.Data
导入 System.Data.OleDb
Imports System.Data.OleDb
导入 BookingsDataSetTableAdapters
Imports BookingsDataSetTableAdapters
导入 DisplayDataSetTableAdapters
Imports DisplayDataSetTableAdapters
部分 类 _Default
Partial Class _Default
继承 System.Web.UI.Page
Inherits System.Web.UI.Page
受保护的 Sub Calendar1_SelectionChanged( ByVal 发送者 发件人 对象 , ByVal e As System.EventArgs) 句柄 Calendar1.SelectionChanged
Protected Sub Calendar1_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Calendar1.SelectionChanged
暗淡 BookingDataAdapter 为 新建 tblBookingsTableAdapter
Dim BookingDataAdapter As New tblBookingsTableAdapter
暗淡 BookingDataSet As 新建 BookingsDataSet.tblBookingsDataTable
Dim BookingDataSet As New BookingsDataSet.tblBookingsDataTable
暗淡 BookingDataTable As 新建 BookingsDataSet.tblBookingsDataTable
Dim BookingDataTable As New BookingsDataSet.tblBookingsDataTable
暗淡 BookingDataRow As 字体> DataRow
Dim BookingDataRow As DataRow
暗淡 DisplayDataAdapter As 字体> 新建 tblDisplayTableAdapter
Dim DisplayDataAdapter As New tblDisplayTableAdapter
暗 DisplayDataSet As 新建 DisplayDataSet.tblDisplayDataTable
Dim DisplayDataSet As New DisplayDataSet.tblDisplayDataTable
暗 DisplayDataTable As 新建 DisplayDataSet.tblDisplayDataTable
Dim DisplayDataTable As New DisplayDataSet.tblDisplayDataTable
暗 DisplayZone1DataSet As 新建 QueriesTableAdapter()
Dim DisplayZone1DataSet As New QueriesTableAdapter()
暗 DisplayDataRow As 字体> DataRow
Dim DisplayDataRow As DataRow
暗淡 X 为字体> 整数
Dim X As Integer
'/*-/*-/*-/*-/*-/*-/*-/*-/*-/*- /*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/* -/*-/
'/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/
BookingDataAdapter.Fill(BookingDataSet) <字体颜色=#008000" size = 2>'设置源表.
BookingDataAdapter.Fill(BookingDataSet) ' Set the source table.
BookingDataTable = BookingDataSet
BookingDataTable = BookingDataSet
'/*-/*-/*-/*-/*-/*-/*-/*-/*-/*- /*-/*-/*-/-*/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/* -/*-/
'/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/-*/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/
DisplayDataAdapter.Fill(DisplayDataSet) '设置源表.
DisplayDataAdapter.Fill(DisplayDataSet) ' Set the source table.
DisplayDataTable = DisplayDataSet
DisplayDataTable = DisplayDataSet
'/*-/*-/*-/*-/*-/*-/*-/*-/*-/*- /*-/*-/*-/-*/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/* -/*-/
'/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/-*/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/
使用预订中的数据填充显示内容
'Fill display with data from bookings
对于 X = 0 要 BookingDataTable.Rows.Count-1
For X = 0 To BookingDataTable.Rows.Count - 1
暗淡 BookingDate As 字体> 日期
Dim BookingDate As Date
暗淡 SystremDate As 字体> 日期
Dim SystremDate As Date
暗 CalendarDate As 字体> 日期
Dim CalendarDate As Date
暗淡 MyLessionID As 字体> 字符串
Dim MyLessionID As String
暗淡 StringCon As 字体> 字符串
Dim StringCon As String
BookingDataRow = BookingDataTable.Rows(X)
BookingDataRow = BookingDataTable.Rows(X)
SystremDate = Left(Now(),10)
SystremDate = Left(Now(), 10)
BookingDate = BookingDataRow( 日期" )
BookingDate = BookingDataRow("Date")
CalendarDate = Calendar1.SelectedDate
CalendarDate = Calendar1.SelectedDate
如果 BookingDate = CalendarDate 然后
If BookingDate = CalendarDate Then
如果 BookingDataRow( " zone" )= 1 然后
If BookingDataRow("zone") = 1 Then
MyLessionID = BookingDataRow( "LessionID"; )
MyLessionID = BookingDataRow("LessionID")
DisplayDataRow = DisplayDataTable.Rows(2)
DisplayDataRow = DisplayDataTable.Rows(2)
DisplayDataRow(MyLessionID)= BookingDataRow( "teacher" )
DisplayDataRow(MyLessionID) = BookingDataRow("teacher")
DisplayDataRow = DisplayDataTable.Rows(1)
DisplayDataRow = DisplayDataTable.Rows(1)
DisplayDataRow(MyLessionID)= BookingDataRow( "Subject" )
DisplayDataRow(MyLessionID) = BookingDataRow("Subject")
DisplayDataRow = DisplayDataTable.Rows(0)
DisplayDataRow = DisplayDataTable.Rows(0)
StringCon = BookingDataRow( "年" )
StringCon = BookingDataRow("Year")
DisplayDataRow(MyLessionID)= StringCon
DisplayDataRow(MyLessionID) = StringCon
结束 如果
End If
如果 BookingDataRow( "区"" )= 2 然后
If BookingDataRow("zone") = 2 Then
MyLessionID = BookingDataRow( "LessionID"; )
MyLessionID = BookingDataRow("LessionID")
DisplayDataRow = DisplayDataTable.Rows(5)
DisplayDataRow = DisplayDataTable.Rows(5)
DisplayDataRow(MyLessionID)= BookingDataRow( "teacher" )
DisplayDataRow(MyLessionID) = BookingDataRow("teacher")
DisplayDataRow = DisplayDataTable.Rows(4)
DisplayDataRow = DisplayDataTable.Rows(4)
DisplayDataRow(MyLessionID)= BookingDataRow( "Subject" )
DisplayDataRow(MyLessionID) = BookingDataRow("Subject")
DisplayDataRow = DisplayDataTable.Rows(3)
DisplayDataRow = DisplayDataTable.Rows(3)
DisplayDataRow(MyLessionID)= BookingDataRow( "Year" )
DisplayDataRow(MyLessionID) = BookingDataRow("Year")
结束 如果
End If
如果 BookingDataRow( "区"" )= 3 然后
If BookingDataRow("zone") = 3 Then
MyLessionID = BookingDataRow( "LessionID"; )
MyLessionID = BookingDataRow("LessionID")
DisplayDataRow = DisplayDataTable.Rows(8)
DisplayDataRow = DisplayDataTable.Rows(8)
DisplayDataRow(MyLessionID)= BookingDataRow( "teacher" )
DisplayDataRow(MyLessionID) = BookingDataRow("teacher")
DisplayDataRow = DisplayDataTable.Rows(7)
DisplayDataRow = DisplayDataTable.Rows(7)
DisplayDataRow(MyLessionID)= BookingDataRow( "Subject" )
DisplayDataRow(MyLessionID) = BookingDataRow("Subject")
DisplayDataRow = DisplayDataTable.Rows(6)
DisplayDataRow = DisplayDataTable.Rows(6)
DisplayDataRow(MyLessionID)= BookingDataRow( "Year" )
DisplayDataRow(MyLessionID) = BookingDataRow("Year")
结束 如果
End If
如果 BookingDataRow( "区"" )= 4 然后
If BookingDataRow("zone") = 4 Then
MyLessionID = BookingDataRow( "LessionID"; )
MyLessionID = BookingDataRow("LessionID")
DisplayDataRow = DisplayDataTable.Rows(11)
DisplayDataRow = DisplayDataTable.Rows(11)
DisplayDataRow(MyLessionID)= BookingDataRow( "teacher" )
DisplayDataRow(MyLessionID) = BookingDataRow("teacher")
DisplayDataRow = DisplayDataTable.Rows(10)
DisplayDataRow = DisplayDataTable.Rows(10)
DisplayDataRow(MyLessionID)= BookingDataRow( "Subject" )
DisplayDataRow(MyLessionID) = BookingDataRow("Subject")
DisplayDataRow = DisplayDataTable.Rows(9)
DisplayDataRow = DisplayDataTable.Rows(9)
DisplayDataRow(MyLessionID)= BookingDataRow( "Year" )
DisplayDataRow(MyLessionID) = BookingDataRow("Year")
结束 如果
End If
结束 如果
End If
下一个 X
Next X
'Zone1DisplayGrid.BorderColor = Drawing.Color.Black
'Zone1DisplayGrid.BorderColor = Drawing.Color.Black
'Zone1DisplayGrid.BorderStyle = BorderStyle.Groove
'Zone1DisplayGrid.BorderStyle = BorderStyle.Groove
'Zone1DisplayGrid.DataSource = DisplayDataSet
'Zone1DisplayGrid.DataSource = DisplayDataSet
Zone1DisplayGrid.DataSource = DisplayZone1DataSet.qryZone1
Zone1DisplayGrid.DataSource = DisplayZone1DataSet.qryZone1
Zone1DisplayGrid.DataBind()
Zone1DisplayGrid.DataBind()
Zone2DisplayGrid.DataSource = DisplayZone1DataSet.qryZone2
Zone2DisplayGrid.DataSource = DisplayZone1DataSet.qryZone2
'Zone2DisplayGrid.DataBind()
'Zone2DisplayGrid.DataBind()
Zone3DisplayGrid.DataSource = DisplayZone1DataSet.qryZone3
Zone3DisplayGrid.DataSource = DisplayZone1DataSet.qryZone3
'Zone3DisplayGrid.DataBind()
'Zone3DisplayGrid.DataBind()
Zone4DisplayGrid.DataSource = DisplayZone1DataSet.qryZone4
Zone4DisplayGrid.DataSource = DisplayZone1DataSet.qryZone4
'Zone4DisplayGrid.DataBind()
' Zone4DisplayGrid.DataBind()
结束 Sub
End Sub
结束 类
End Class
推荐答案
Mathew,
在您的代码中,将数据表设置为数据集,然后填充数据集.我不确定这是否是2008年的新功能,但请尝试两件事,忽略数据集并使用单个数据表进行填充.我什至不确定没有解析表的数据集是否可以附加到数据表.
我描述的方式有很多参考,我很好奇您的来源这个数据集向导是?
无论如何,今天早上我和一个有类似问题的人一起工作.看看我写的内容是否可以帮助您解决这个问题.
链接是:
Hi Mathew,
In your code you set a data table to a dataset, and you fill the dataset. I'm not sure if this is something new in 2008, but try two things, ignore the dataset and work with individual data tables for the fill. I'm not even sure if a dataset, that doesn't have the table parsed can attach to a datatable.
There are many references for the way I'm describing, I'm curious what your source of this dataset wizard is?
In any event, I worked with someone this morning, that had a similar problem. See if anything I wrote could help you with this.
The link is : http://forums.msdn.microsoft.com/en-US/vblanguage/thread/6f2156a5-aca2-499a-bd46-14b91d3354d0
look at the code that sets up the datatable for the add, if you utilize that it may help, but you will need to flesh it out a little, to adapt it to your application.
Best of Luck,
John.
这篇关于从查询表适配器将数据绑定到网格View控件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!