绑定导航器按钮的编码

Chevygal1969

这是我第一次使用绑定导航器,无法弄清楚如何使其正常工作。在我完成的所有示例中,大多数按钮都没有代码显示,并且它们可以正常工作。在我看来,它们几乎都是灰色的。感谢您为我指明正确方向的任何帮助。谢谢。

Option Explicit On
Option Strict On
Option Infer Off

Public Class frmMain

    Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'TODO: This line of code loads data into the 'TripsDataSet.tblTrips' table. You can move, or remove it, as needed.
        Me.TblTripsTableAdapter.Fill(Me.TripsDataSet.tblTrips)
    End Sub

    Private Sub btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click
        Me.Close()
    End Sub

    Private Sub btnAll_Click(sender As Object, e As EventArgs) Handles btnAll.Click
        'displays all trips
        Me.TblTripsTableAdapter.Fill(Me.TripsDataSet.tblTrips)
        TblTripsDataGridView.DataSource = TripsDataSet.tblTrips
    End Sub


    Private Sub btnCount_Click(sender As Object, e As EventArgs) Handles btnCount.Click
        'displays either business trips or pleasure trips
        Dim foundRows() As TripsDataSet.tblTripsRow
        Dim businesspleasure As String = ""
        If radBusiness.Checked Then
            businesspleasure = "B"
        ElseIf radPleasure.Checked Then
            businesspleasure = "P"
        End If

        foundRows = CType(Me.TripsDataSet.tblTrips.Select("BusinessPleasure = '" & businesspleasure & "'"), Trips_Project.TripsDataSet.tblTripsRow())

        Dim ds As New TripsDataSet.tblTripsDataTable
        For Each row As DataRow In foundRows
            ds.ImportRow(row)
        Next
        TblTripsDataGridView.DataSource = ds

        MessageBox.Show("Trips:  " & TblTripsDataGridView.RowCount - 1)
    End Sub

    Private Sub btnTrips_Click(sender As Object, e As EventArgs) Handles btnTrips.Click
        Dim foundTrips() As TripsDataSet.tblTripsRow
        Dim originTrip As String
        Dim destinTrip As String

        If radOrAtl.Checked Then
            originTrip = "Atlanta"
        ElseIf radOrChi.Checked Then
            originTrip = "Chicago"
        ElseIf radOrLa.Checked Then
            originTrip = "Los Angeles"
        Else
            originTrip = "Nashville"
        End If

        If radDestAtl.Checked Then
            destinTrip = "Atlanta"
        ElseIf radDestChi.Checked Then
            destinTrip = "Chicago"
        ElseIf radDestLa.Checked Then
            destinTrip = "Los Angeles"
        Else
            destinTrip = "Nashville"
        End If
        foundTrips = CType(Me.TripsDataSet.tblTrips.Select(String.Format("Origin = '{0}' AND Destination = '{1}'", originTrip, destinTrip)), Trips_Project.TripsDataSet.tblTripsRow())

        Dim ds As New TripsDataSet.tblTripsDataTable
        For Each row As DataRow In foundTrips
            ds.ImportRow(row)
        Next

        TblTripsDataGridView.DataSource = ds

        MessageBox.Show("Total Trips:  " & TblTripsDataGridView.RowCount - 1)
    End Sub

    Private Sub BindingNavigatorSaveData_Click(sender As Object, e As EventArgs) Handles BindingNavigatorSaveData.Click
        Try
            Me.Validate()
            Me.TblTripsBindingSource.EndEdit()
            Me.TableAdapterManager.UpdateAll(Me.TripsDataSet)
            MessageBox.Show("Updates saved", "My Trips", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Catch ex As Exception
            MessageBox.Show(ex.Message, "My Trips", MessageBoxButtons.OK, MessageBoxIcon.Information)
        End Try
    End Sub

    Private Sub BindingNavigatorAddNewItem_Click(sender As Object, e As EventArgs) Handles BindingNavigatorAddNewItem.Click
        Try
            TblTripsBindingSource.AddNew()
        Catch ex As Exception
            MessageBox.Show(ex.ToString)
        End Try
    End Sub

    Private Sub BindingNavigatorDeleteItem_Click(sender As Object, e As EventArgs) Handles BindingNavigatorDeleteItem.Click
        Me.BindingNavigator1.BindingSource.RemoveCurrent()
        Try
            Me.Validate()
            Me.TblTripsBindingSource.EndEdit()
            Me.TableAdapterManager.UpdateAll(Me.TripsDataSet)
            MessageBox.Show("Update Successful")
        Catch ex As Exception
            MessageBox.Show(ex.ToString)
        End Try
    End Sub
End Class
金西尼

BindingNavigator本质上是BindingSource的UI。BindingNavigator上的默认项分别映射到关联的BindingSource的MoveFirst方法,MovePrevious方法,Position属性,Count属性,MoveNext方法,MoveLast方法,AddNew方法和RemoveCurrent方法。如果尚未将BindingSource对象分配给BindingNavigator的BindingSource属性,则这些项目将显示为灰色。

请注意,在btnAll Button的Click事件处理程序中,您将DataTable直接绑定到了DataGridView。这使您的BindingNavigator无法使用。您需要将DataTable绑定到BindingSource,并将BindingSource绑定到DataGridView。然后,BindingNavigator的各项操作BindingSource,从而影响BindingSource绑定到的任何内容,即DataGridView。如果BindingSource未绑定到DataGridView,则BindingNavigator不会对DataGridView产生任何影响。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

绑定导航器中缺少“保存”按钮

导航器PushReplacementName弹出按钮

导航器更改后退按钮颜色

在 Flutter 中堆叠条件导航器按钮

带有标题后退按钮的 React 导航抽屉导航器

绑定元素“导航器”隐式具有“任意”类型

C#绑定导航器页面更改事件

并发错误 WinForms 绑定源导航器

在导航器内反应原生的多个 HeaderRight 按钮

如何不让某人点击导航器的返回按钮?

无法从qGrid导航器按钮打开模式窗口

如何隐藏React Native导航器的后退按钮

Swift PageView导航器按钮设置为新的UIpageview

按下异步按钮时导航器更改页面

可以像图片一样在标签导航器上反应导航添加costom按钮

react-navigation的标签导航器特定标签按钮上的自定义导航操作

如何使用导航器按钮执行除在页面之间导航以外的操作

堆栈导航器后退按钮左侧的菜单按钮,headerBackVisible:true 不起作用

Gatsby/React 导航器

导航器IOS问题

如何使用嵌套的底部选项卡导航器将导航按钮添加到 React 导航堆栈标题?

无法从bottomTab导航器导航到Stack导航器

从子导航器屏幕导航到父导航器的屏幕

react-native-navigation导航器是未定义的自定义按钮

如何将 Android 后退按钮附加到特定导航器?

在反应导航中管理多个导航器(堆栈导航器和bottomtabs导航器)

在本机中使用抽屉导航器和堆栈导航器

Python 中的安全导航器 (&.)

堆栈导航器堆栈视图