DevExpress XtraGrid MakeRowVisible

РЕДАКТИРОВАТЬ: проблема связана с тем, когда я вызываю метод. Если я жду отображения формы и вызываю метод из меню самой формы, он работает. Но если я установлю, что строка будет отображаться до того, как форма завершит рендеринг, это не сработает. Вызывает ли XtraGrid событие после завершения рендеринга?

У меня не получается сделать видимой определенную строку в сетке, используя ее дескриптор строки. Я пробовал как метод MakeRowVisible GridView, так и просто установку свойства FocusedRowHandle ColumnView, оба из которых должны отображать указанную строку.

Примечание: при фокусировке строки с помощью свойства ColumnView.FocusedRowHandle View автоматически делает указанную строку видимой на экране. Для этого используется метод MakeRowVisible. Таким образом, вам не нужно использовать метод MakeRowVisible, если вам нужно сфокусировать целевую строку. Просто назначьте нужный дескриптор строки свойству ColumnView.FocusedRowHandle. http://documentation.devexpress.com/#WindowsForms/DevExpressXtraGridViewsGridGridView_MakeRowVisibletopic

Я должен упустить что-то основное. Спасибо за помощь.

 public void SetVisibleRow(int customerid)
        {

         DevExpress.XtraGrid.Views.Base.ColumnView  vw;
         vw = (DevExpress.XtraGrid.Views.Base.ColumnView) MyGrid.DefaultView;

          for ( int i = 0; i < vw.DataRowCount;  i++)
            {
                 if ((int)vw.GetRowCellValue(i, "custid") == customerid)      
                  {
                    // DevExpress.XtraGrid.Views.Grid.GridView gv;
                    // gv =  (DevExpress.XtraGrid.Views.Grid.GridView) MyGrid.DefaultView;
                    // gv.MakeRowVisible(i,false);

                    vw.FocusedRowHandle = i;
                    break;
                  }
            }

        }

person Tim    schedule 28.06.2011    source источник


Ответы (2)


Если вы вызываете свой метод SetVisibleRow в событии OnLoad формы, обязательно сначала вызовите метод ForceInitialize элемента управления сеткой.

person swandog    schedule 08.07.2011

Проблема решается, если метод вызывается в событии Load сетки.

person Tim    schedule 28.06.2011