从查询表适配器将数据绑定到网格View控件 [英] bind data to a grid View control from a Queries Table Adapter

查看:59
本文介绍了从查询表适配器将数据绑定到网格View控件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用数据集向导来生成我的数据集.现在,我添加了一个带有4个查询的查询表适配器,现在正尝试将数据输入到数据网格View控件中,以显示按查询排序的数据.但是,当我将数据绑定到数据网格View控件时,我总是收到错误消息.这是我的代码

导入 Microsoft.VisualBasic

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 Microsoft.VisualBasic

导入 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆