3

私のプロジェクトには、多くのレコードとレコードの詳細を持つデータソースにバインドされたXceedデータグリッドがあります。ユーザーが特定の列で特定の詳細を検索できるようにするコンテキストメニューオプションを作成しようとしています。機能を正常に完了しましたが、問題を引き起こしているUI部分があります。つまり、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を設定して詳細を展開した後、グリッドを行にフォーカスさせるにはどうすればよいですか?

ありがとう、

パトリック

4

1 に答える 1

3

Xceed DataGrid の API はわかりませんが、通常、そのようなクラスは のようなメソッドを提供しますScrollIntoView(...)。少しグーグルで調べたところ、Xceed の DataGrid が明らかに というメソッドを提供していることがわかりましたBringItemIntoView(...)。あなたはそれを試しましたか?
たとえば、Xceed フォーラムのこのスレッドでは、この方法について議論しています。

于 2010-04-20T09:30:25.917 に答える