簡體   English   中英

DataGridView上的組合框

[英]Combobox on DataGridView

我在datagridview上有一個組合框。 我能夠填充組合框的值,但是我無法做的是在加載datagridview時將數據庫值填充到組合框“ text”中。

我希望這是有道理的。 基本上,我只希望返回的數據反映在組合框顯示中。

非常感謝您的協助。

 Dim cbo As DataGridViewComboBoxColumn
        If GlobalVariables.UsrSite = 0 Then
            SQL.ReadQuery("Select LogsReason as [Logs Update], IncNo as [Number], SiteName As [Site Name], FleetNo As [Fleet No], FleetType As [Fleet Type], Location,
            SMR as [Hours], TimeDown As [Down Time], EstTimeUp as [Est Repair], DateDiff(d, TimeDown, GetDate()) as [Days Down] 
            from UDOData where status = 'Down' order by [Days Down] Desc")
        Else
            SQL.ReadQuery("Select LogsReason as [Logs Update], IncNo as [Number], SiteName As [Site Name], FleetNo As [Fleet No], FleetType As [Fleet Type], Location,
            SMR as [Hours], TimeDown As [Down Time], EstTimeUp as [Est Repair], DateDiff(d, TimeDown, GetDate()) as [Days Down] from UDOData 
            Where SiteID = " & GlobalVariables.UsrSite & " and Status = 'Down' order by [Days Down] Desc")
        End If
        dgvUDO.DataSource = SQL.SQLDS.Tables(0)

        cbo.DataSource = SQL.SQLDS.Tables(0)
        cbo.DisplayMember = "Logs Update"
        cbo.ValueMember = "Logs Update"
        cbo.DataPropertyName = "Logs Update"

我收到異常錯誤消息,說“ logs Update”不存在,但已加載到datagridview中。

在此處輸入圖片說明

我最終做了這個,對我有用。

Dim cbo As DataGridViewComboBoxColumn
        cbo = dgvUDO.Columns("cboLogsUDO")
        Dim AltDb As New DataTable

        SQL.ReadQuery("Select Descrip from dbo.UDOLogs")
        AltDb = SQL.SQLDS.Tables(0)
        'LOAD DATA GRID VIEW DATA
        If GlobalVariables.UsrSite = 0 Then
            SQL.ReadQuery("Select ID, LogsReason as [Logs Update], IncNo as [Number], SiteName As [Site Name], FleetNo As [Fleet No], FleetType As [Fleet Type], Location,
            SMR as [Hours], TimeDown As [Down Time], EstTimeUp as [Est Repair], DateDiff(d, TimeDown, GetDate()) as [Days Down] 
            from UDOData where status = 'Down' order by [Days Down] Desc")
        Else
            SQL.ReadQuery("Select ID, LogsReason as [Logs Update], IncNo as [Number], SiteName As [Site Name], FleetNo As [Fleet No], FleetType As [Fleet Type], Location,
            SMR as [Hours], TimeDown As [Down Time], EstTimeUp as [Est Repair], DateDiff(d, TimeDown, GetDate()) as [Days Down] from UDOData 
            Where SiteID = " & GlobalVariables.UsrSite & " and Status = 'Down' order by [Days Down] Desc")
        End If

        'SET DATA GRIDVIEW DATA SOURCE
        dt = SQL.SQLDS.Tables(0)
        dgvUDO.DataSource = dt
        dgvUDO.Rows(0).Selected = True

        'LOAD UPDATE COMMAND FOR DATA GRIDVIEW CHANGES
        SQL.SQLDA.UpdateCommand = New SqlClient.SqlCommandBuilder(SQL.SQLDA).GetUpdateCommand

        'HIDE UNWANTED COLUMNS
        dgvUDO.Columns("Logs Update").Visible = False
        dgvUDO.Columns("ID").Visible = False


        'SET COMBOBOX ATTRIBUTES
        cbo.DataSource = AltDb
        cbo.DisplayMember = "Descrip"
        cbo.ValueMember = "Descrip"
        cbo.DataPropertyName = "Logs Update"

這使我能夠調用返回的db中datagridview的值作為組合框“文本”值,但將下拉項顯示為另一個表中的項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM