Xceed DataGrid SelectedItem проблема - PullRequest
3 голосов
/ 20 апреля 2010

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

Я могу установить SelectedRow и развернуть детали следующим образом:

this.grid.AutoFilterValues[userColumn].Clear();
this.grid.AutoFilterValues[userColumn].Add(userValue);
if (this.creditLinesDataGridControl.Items.Count > 0)
{
    this.grid.SelectedItem = this.grid.Items[0];
    this.grid.ExpandDetails(this.grid.Items[0]);
}
else
{
    MessageBox.Show("Value not found in column: " + userColumn);
}
this.grid.AutoFilterValues[userColumn].Clear();

где userColumn и userValue предварительно установлены в методе.

Как мне сделать фокус сетки на строке после того, как я установил SelectedItem и расширил детали?

Спасибо

Patrick

1 Ответ

3 голосов
/ 20 апреля 2010

Я не знаю API Xceed DataGrid, но обычно такие классы предоставляют метод, подобный ScrollIntoView(...). Немного погуглив, я обнаружил, что DataGrid в Xceed, очевидно, предлагает метод с именем BringItemIntoView(...). Вы пробовали это?
Например, в этой теме на форуме Xceed обсуждается этот метод.

...