DevExpress Gridcontrol 在添加 repositoryItemLookUpEdit 后显示空列

DevExpress Gridcontrol shows empty column after adding repositoryItemLookUpEdit

我使用 'Visual Studio Express 2015 for windows' 和 .Net Framework 4.6 创建了 windows VB.Net 应用程序。 因为我在表单上使用了 Devexpress 19.1.6.0 Gridcontrol。 我想将学生详细信息绑定到 gridcontrol。 在 gridview 的 'Name' 列中,我想向 select 任何名称显示组合框以更新特定单元格。


为此,我使用了 repositoryItemLookUpEdit。


'Name' 列必须包含学生姓名。但是当我将 运行 程序时,然后 'Name' 列显示空单元格。为什么?如何克服这个问题?


此外,如果我将在不使用 repositoryItemLookUpEdit 的情况下实现相同的程序,那么所有列的正确数据都将绑定到 gridview,并且 'Name' 列也不会显示为空。


Form1.vb

Imports System.Data.SqlClient

Public Class Form1
    Dim cn As SqlConnection = New SqlConnection("Data Source=PC161\SQLEXPRESS;Database=Student;Integrated Security=true")
    Dim da As New SqlDataAdapter

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        LoadGrid()
    End Sub

    Private Function FetchAllDetails() As DataTable
        Dim dt As New DataTable
        da = New SqlDataAdapter("select * from StudentInfo", cn)
        da.Fill(dt)
        Return dt
    End Function

    Private Function FetchIdName() As DataTable
        Dim dt As New DataTable
        da = New SqlDataAdapter("select ID, NAME from StudentInfo", cn)
        da.Fill(dt)
        Return dt
    End Function

    Private Sub LoadGrid()
        Try
            GridControl1.DataSource = FetchAllDetails()
            RepositoryItemLookUpEdit1.DataSource = FetchIdName()
            RepositoryItemLookUpEdit1.ValueMember = "ID"
            RepositoryItemLookUpEdit1.DisplayMember = "NAME"
            RepositoryItemLookUpEdit1.NullText = ""
            RepositoryItemLookUpEdit1.PopulateColumns()
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub
End Class

Output after running the project

Output window after click on cell

Form1 Design

Added columns after click on 'Run Design' option on Gridcontrol

'In-place Editor Repository' option to add RepositoryItemLookupEdit

GridControl 的学生姓名列 (GridColumn2) 的 FieldName 属性 设置为 NAME。这可能是一个包含实际学生姓名的字符串值,这就是为什么当您不使用 RepositoryItemLookUpEdit 时单元格不为空的原因。

要在使用 RepositoryItemLookUpEdit 时显示学生姓名,您需要将 GridColumn2 的 FieldName 属性 更改为您用作 RepositoryItemLookUpEdit 的 ValueMember 的学生 ID 值。

简而言之,将 GridColumn2.FieldName 属性 值更改为 "ID" 即可。