2016-07-18 5 views
0

私はグリッドの編集フォーム内にコンボボックスを持っています...更新を選択すると、コンボボックスから選択したアイテムを取得したいのですが、変更を表す場合は更新を実行します。私の人生のために...そして私はひどく錆びていると認めますが、私が間違っていることを理解することはできません。私はまた、選択されたイベントでそれを読むことを試みましたが、それは発砲しません:CTelerik ComboboxからGridの編集モードで選択項目を取得しますか?

いつもと同じように、多くの多くの試みが行われています。 ASPXを追加するように編集

protected void RadGrid1_UpdateCommand(object source, GridCommandEventArgs e) 
    { 

     if (e.CommandName == "Update") 
     { 

      GridEditableItem item = (GridEditableItem)e.Item;   
      RadComboBox combo =(RadComboBox)item.FindControl("updateComboBox");    
      var status = (string)item.GetDataKeyValue("status"); 
      if (combo.SelectedItem.Text!= status) 

      { 
       //do my update     
      } 


     } 

<telerik:GridTemplateColumn HeaderText="Category" ItemStyle-Width="240px"> 

        <ItemTemplate> 

         <%#DataBinder.Eval(Container.DataItem, "Status")%> 

        </ItemTemplate> 

        <EditItemTemplate> 

         <telerik:RadComboBox RenderMode="Lightweight" runat="server" ID="updateComboBox" DataTextField="Status" 

          DataValueField="ID" DataSourceID="LinqDataSource1" SelectedValue='<%#Bind("ID") %>' AutoPostBack="False" EnableLoadOnDemand="True" CausesValidation="False"> 

         </telerik:RadComboBox> 

        </EditItemTemplate> 

       </telerik:GridTemplateColumn> 

       <telerik:GridEditCommandColumn FooterText="EditCommand footer" UniqueName="EditCommandColumn" 

        HeaderText="Edit" HeaderStyle-Width="100px" UpdateText="Update"> 

   </telerik:GridEditCommandColumn> 
+0

どこが問題なのですか?コンボボックスは要求に応じてアイテムをロードするように設定されていますか? –

+0

@VeselinVasilev ...まあ、 "大きな"問題は、基本的に、私はコンボボックスの選択されたテキストを読むことができないということです。私はTelerikが与える例に従おうとしており、運がない。私が得ることができるのは、最初の(デフォルト)値だけです。自動ポストバックに設定すると、ドロップダウンから値を選択した直後に「再設定」し、ポストバックしないように設定すると、選択した値ではなく元の値が取得されます。 – PaulBinCT2

+0

コンボボックスのLoadOnDemandを有効にした場合は、SelectedValueプロパティとTextプロパティをサーバー上でのみ使用してください。 この記事を参照してください:http://docs.telerik.com/devtools/aspnet-ajax/controls/combobox/troubleshooting/radcombobox-items-are-not-accessible-on-the-server-side-when-loading-オンデマンドで –

答えて

0

大丈夫、私は馬鹿のように感じますが、おそらくこれは、同じ問題を持つ他の誰かを助けます。私は不適切な場所でデータバインディングを呼び出していました。それを修正したようだ...

入力をお願いした人に、ありがとう!

関連する問題