РЕДАКТИРОВАТЬ: проблема связана с тем, когда я вызываю метод. Если я подожду, пока форма отобразится, и вызову метод из меню в самой форме, он будет работать. Но если я установлю строку для отображения до того, как форма закончит рендеринг, это не сработает. Вызывает ли XtraGrid событие после завершения рендеринга?
У меня нет успеха в том, чтобы сделать конкретную строку в сетке видимой, используя ее указатель строки. Я попробовал как метод MakeRowVisible объекта GridView, так и простую настройку свойства FocusedRowHandle ColumnView, оба из которых должны выводить указанную строку.
Примечание: при фокусировке строки с использованием ColumnView.FocusedRowHandle
Свойство, Просмотр автоматически
делает указанную строку видимой на
экран. Метод 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;
}
}
}