Команда Devexpress Gridview Row Ошибка при включенной фильтрации - PullRequest
1 голос
/ 26 августа 2011

Я использую devexpress 9.1.

У меня есть devexpress gridview, связанный с источником данных.установили размер страницы = "20".Включено Настройки ShowFilterRow = "true" ;

У меня есть столбец с кнопкой asp image, устанавливающей аргументы команды в значение.

Ниже приведен код

 <dxwgv:ASPxGridView ID="ASPxGridView2" runat="server" DataSourceID="sds_addingredients" 
        AutoGenerateColumns="False" KeyFieldName="Ingredients_Id"   ClientInstanceName="grid2">
        <Settings ShowFilterRow="true" />
        <SettingsPager PageSize="20"></SettingsPager>
        <Columns>
        <dxwgv:GridViewDataTextColumn Caption="S.No" VisibleIndex="0" >
        <DataItemTemplate>
        <%#Container.ItemIndex +1 %> 
         </DataItemTemplate>
        </dxwgv:GridViewDataTextColumn>
          <dxwgv:GridViewDataTextColumn VisibleIndex="1" Caption=" ">
         <DataItemTemplate>
          <asp:ImageButton ID="btn_edit" runat="server" CommandArgument='<%# Eval("Ingredients_Id") %>' Height="15px" 
                        ImageUrl="~/images/document_edit.png"  ToolTip="Edit" 
                        Width="15px" />
                </DataItemTemplate>
            </dxwgv:GridViewDataTextColumn>
            <dxwgv:GridViewDataTextColumn VisibleIndex="1" FieldName="Ingredients_Id" 
              ReadOnly="True" Visible="False">
                <EditFormSettings Visible="False" />
            </dxwgv:GridViewDataTextColumn>
            <dxwgv:GridViewDataTextColumn Caption="Ingredient" FieldName="Ingredients_Name" VisibleIndex="2"  Settings-ShowFilterRowMenu="True" > 
              </dxwgv:GridViewDataTextColumn>

        </Columns>

Ниже приведен код на стороне сервера

  protected void ASPxGridView2_RowCommand(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewRowCommandEventArgs e)
    { string id = e.CommandArgs.CommandArgument.ToString();//perform certain opertation based on the id}

Вышеуказанный метод работает правильно, но когда я фильтрую результат и щелкаю определенную строку, идентификатор, полученный на стороне сервера , выглядитотличается не соответствует тому, что я нажал.я чувствую, что он получает неправильный индекс строки ... это происходит только тогда, когда я пытаюсь фильтровать и выполнять щелчок команды строки.В остальном, это работает правильно.почему это.

1 Ответ

0 голосов
/ 30 августа 2011

Вы пытались использовать их свойство KeyValue?

 protected void ASPxGridView2_RowCommand(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewRowCommandEventArgs e)
    { 
      int id = Convert.ToInt32(e.KeyValue);
      //perform certain opertation based on the id
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...