0

AspxGridViewでは、DataItemTemplateに2つのコンボボックスがあり、手動でロードされます。したがって、ユーザーが最初のコンボの1つのフィールドを選択すると、2番目のフィールドが無効になり、次のように記述します。

<dxe:ASPxComboBox ID="cmbEqualNotEqual" runat="server" 
                                                ClientInstanceName="cmbCEqualNotEqual" EnableClientSideAPI="true">
                                                <Items>
                                                    <dxe:ListEditItem Text=" " Value="0" />
                                                    <dxe:ListEditItem Text="Eşittir" Value="1" />
                                                    <dxe:ListEditItem Text="Eşit Değildir" Value="0" />
                                                </Items>
                                                <ClientSideEvents SelectedIndexChanged="function(s,e){
                                                    alert(s.GetEnabled());
                                                    var selectedIndex = s.GetSelectedIndex();
                                                    if(selectedIndex == 2)
                                                    {
                                                        cmbCBiggerSmaller.SetEnabled(false);
                                                    }
                                                }" />
                                            </dxe:ASPxComboBox> 

ただし、このコードは、ユーザーが作業している行ではなく、最後の行でコンボを無効にします。ユーザーが作業している行を無効にするにはどうすればよいですか?

ありがとう

4

2 に答える 2

3

私は自分で答えます:

 for (int i = 0; i < grid.VisibleRowCount; i++)
  {
     ASPxComboBox combito = grid.FindRowCellTemplateControl(i, grid.Columns[2] as GridViewDataColumn, "combito") as ASPxComboBox;
     //combito.Value  
  }
于 2012-09-21T15:15:30.223 に答える
0

この問題は、ClientInstanceName プロパティが同じ列のすべてのエディターに対して同じ値に設定されているために発生します。可能な解決策は、ASPxGridView の HtmlRowCreated イベントを処理し、両方のエディターの ClientInstanceName を一意の値に設定することです。また、このイベント ハンドラーでは、クライアント側の SelectedIndexChanged イベント ハンドラーを記述する必要があります。最後に、エディター インスタンスを取得するには、ASPxGridView の FindRowCellTemplateControl メソッドを使用します。

また、次の記事も役立ちます。

http://www.devexpress.com/Support/Center/ViewKBIssue.aspx?kbid=K18282

于 2010-07-30T12:29:13.380 に答える