Как установить атрибут SelectedValue Telerik RadComboBox внутри FormTemplate RadGrid - PullRequest
3 голосов
/ 30 апреля 2010

У меня есть то, что я думаю, должно быть простым вопросом. У меня есть RadGrid с редактированием FormTemplate и включенным AJAX. Одним из полей в FormTemplate является RadComboBox, заполненный выборами состояния США. Я могу привязать RadComboBox к источнику данных, чтобы заполнить все элементы, но я не могу установить атрибут SelectedValue.

Этот RadComboBox загружается при нажатии кнопки «Редактировать» для строки в RadGrid. Используется пользовательский шаблон FormTemplate, а содержимое редактируемой строки загружается через AJAX.

Ответы [ 2 ]

5 голосов
/ 30 апреля 2010

Если вы используете DataBinding, это буквально так же просто, как добавить

SelectedValue='<%# Bind("FieldName")%>'

Внутри декларации FormTemplate RadComboBox.

Однако если вы хотите программно определить, какое значение выбрать, вам нужно реализовать ItemDataBound в RadGrid, , как в следующем примере :

protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e) 
    { 
       if (e.Item is GridEditFormItem && e.Item.IsInEditMode) 
        { 
            GridEditFormItem editFormItem = (GridEditFormItem)e.Item; 
            RadComboBox combo = (RadComboBox)editFormItem.FindControl("yourControlName"); 
            combo.SelectedValue= Somevalue;
        } 
    } 
1 голос
/ 17 мая 2011

сначала очистить все элементы radcombobox, а затем добавить новый элемент вручную

это то, что я делаю, чтобы установить новый элемент при использовании веб-службы

     ddl.ClearSelection()
            ddl.Items.Clear()

'below i'm getting the actual value and the text to display
            Using reader As IDataReader = GetClientByClientID(CInt(value))
                If reader.Read Then

'adding the item will show in the dropdown
                    Dim item As New RadComboBoxItem(reader("DisplayName").ToString, reader("ID").ToString)
                    item.Selected = True
                    ddl.Items.Add(item)

'this line will make the combobox text to be displayed correctly
                    ddl.Text = reader("DisplayName").ToString

                    ddl.DataBind()
                Else
                    ddl.Text = ""

                    ddl.ErrorMessage = "Selected Client Not Found !"
                End If

                reader.Close()
            End Using
...