3

私は、率直な質問であるべきだと思うものを持っています。FormTemplate 編集と AJAX が有効になっている RadGrid があります。FormTemplate のフィールドの 1 つは、米国の州の選択項目で満たされた RadComboBox です。RadComboBox をデータ ソースにバインドしてすべての項目を設定できますが、SelectedValue 属性を設定できません。

この RadComboBox は、RadGrid の行に対して [編集] ボタンがクリックされるとロードされます。カスタム FormTemplate が使用され、編集中の行のコンテンツが AJAX 経由で読み込まれます。

4

2 に答える 2

5

あなたがDataBindingをしているなら、文字通り追加するのと同じくらい簡単です

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

RadComboBox の FormTemplate 宣言内。

ただし、選択する値をプログラムで決定したい場合は、次の例のように、RadGrid に ItemDataBound を実装する必要があります。

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;
        } 
    } 
于 2010-04-29T23:08:17.807 に答える
1

最初にradcomboboxのすべてのアイテムをクリアしてから、新しいアイテムを手動で追加します

これは、Webサービスを使用するときに新しいアイテムを設定するために私が行うことです

     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
于 2011-05-17T13:23:27.067 に答える