DevExpress Gridcontrol показывает пустой столбец после добавления repositoryItemLookUpEdit - PullRequest
0 голосов
/ 19 сентября 2019

Я создал приложение Windows VB.Net, используя Visual Studio Express 2015 для Windows с .Net Framework 4.6.В этом я использовал Devexpress 19.1.6.0 Gridcontrol на форме.Я хочу связать данные ученика с gridcontrol.В столбце «Имя» gridview я хочу показать выпадающий список, чтобы выбрать любое Имя для обновления конкретной ячейки.


Для этой цели я использовал repositoryItemLookUpEdit.


'Имястолбец должен содержать имя sutdent.Но когда я буду запускать программу, в столбце «Имя» будут отображаться пустые ячейки.Почему?Как решить эту проблему?


Кроме того, если я реализую ту же программу без использования repositoryItemLookUpEdit, то все правильные данные столбца будут привязаны к gridview, и столбец «Имя» также не будет отображаться пустым.


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

Вывод после запуска проекта

Окно вывода после нажатия на ячейку

Форма Form1

Добавлены столбцы после выбора опции «Выполнить дизайн» в Gridcontrol

'Редактор на местеОпция 'Репозиторий' для добавления RepositoryItemLookupEdit

1 Ответ

1 голос
/ 19 сентября 2019

Свойство FieldName для столбца имени студента GridControl (GridColumn2) имеет значение NAME.Вероятно, это строковое значение, содержащее фактическое имя учащегося, поэтому ячейка не является пустой, если вы НЕ используете RepositoryItemLookUpEdit.

Чтобы отображать имя учащегося при использовании RepositoryItemLookUpEdit, необходимо изменить свойство FieldNameGridColumn2, чтобы быть значением идентификатора студента, который вы используете в качестве ValueMember RepositoryItemLookUpEdit.

Короче говоря, измените значение свойства GridColumn2.FieldName на "ID", и оно будет работать.

...