2

インデックス付きの行の backroundcolor を変更しようとしていますが、奇妙に思えます。基本的に、私はデフォルトの.net datagridviewで可能なこのようにするつもりです。

int packageIndex = Packages.IndexOf(SomePackage);
gridPackages.Rows[packageIndex].BackColor = Color.Green;

devexpress GridControl で同じことを行うのは本当に面倒です。「Rows」と呼ばれるプロパティはありません。

gridPackages.gridView.SelectRow(packageIndex);
gridPackages.gridView.Appearance.SelectedRow.BackColor = Color.Green;

種類は機能しますが、行を変更すると色がデフォルトになります。これは、選択した行のみが色付けされて表示されることを意味します。ロード時ではなく、動的に色を変更したい。

基本的な質問をしていることは知っていますが、うまくいきません。どんな助けでも大歓迎です..

4

2 に答える 2

4

私は友人の助けを借りてこのように思いついたので、うまくいきます。イベントを再度トリガーするときは、グリッドを更新するだけです。

gridPackages.gridView.RowCellStyle += gridView_RowCellStyle;

private void gridView_RowCellStyle(object sender, RowCellStyleEventArgs e)
        {
            Package pac = Packages[e.RowHandle];
            if (PackagesInRoom.SingleOrDefault(t => t.PackageID == pac.PackageID) != null)
            {
                e.Appearance.BackColor = Color.Green;
            }
        }
于 2013-08-06T13:27:19.853 に答える