Как получить мой выпадающий по умолчанию имя первой строки в таблице - PullRequest
2 голосов
/ 08 сентября 2010

Редактировать: больше кода

Dim oControl As New Forms.Control()

                            Using types As New DataSet
                                With oDal
                                    .Parameters.Clear()
                                    .Execute(sql, types)
                                End With
                                With ddlType
                                    .DataSource = types.Tables(0)
                                    .DataTextField = "Name"
                                    .DataValueField = "TypeId"
                                    .Items.Clear()
                                    .DataBind()
                                    If .Items.Count > 0 Then
                                        .SelectedIndex = 0
                                    End If
                                End With

                            End Using
                            'set queue type with our asp:dropdownlist control
                            oControl = New Forms.Control(Forms.Control.ControlType.ComboBox)
                            'we need to connect the two controls
                            oControl.Id = ddlType.ID

                            'add it to the grid
                            With .Columns.Add("CredentialTypeId", "Type", 85)
                                .Editor = oControl
                            End With

По какой-то причине при нажатии в раскрывающемся списке отображается «0» по умолчанию. Это должна быть первая пара текст / значение из таблицы. Таблица в настоящий момент возвращает только одну строку, что является правильным, но 0 по умолчанию все еще.

Кто-нибудь знает почему?

Ответы [ 2 ]

1 голос
/ 08 сентября 2010
With ddlType
    .DataSource = types.Tables(0)
    .DataTextField = "Name"
    .DataValueField = "TypeId"
    .DataBind()
    If .Items.Count > 0 Then
      .SelectedIndex = 0
    End If
End With

Редактировать :
Учитывая ваши результаты и ваши комментарии, я думаю, что ваша таблица types пуста или ваш код не запускается. Попробуйте добавить несколько точек останова и проверить некоторые значения.

types.Tables(0) isnot nothing
types.Tables(0).Rows.Count

Редактировать2 :
Глядя на ваш код, я вижу другую проблему. Вы никогда не заполняете oControl. Я не уверен, почему вы создаете совершенно новый элемент управления и устанавливаете его ID в ID ddlType. Почему бы вам просто не связать данные с помощью oControl? Или прикрепите ddlType к вашей сетке?

0 голосов
/ 08 сентября 2010

Я знаю, что это, вероятно, не сработает, но все равно скажу.

Вы пытались очистить все элементы перед привязкой данных?

ddType.Items.Clear();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...