5

次のように、DevExpressGridControlのすべての行の右側に削除ボタンを作成しようとしています。

ここに画像の説明を入力してください

私が行ったことは、別の列を追加し、そのColumnEditプロパティをRepositoryItemButtonEditのインスタンスに設定することです。ButtonClickイベントを処理して、行を削除します。

このコードから、自分がどの行にいるのかを判断できます。

myGridView.GetRow(myGridView.FocusedRowHandle);

ボタンにテキストエディタが必要ないため、TextEditStyleをHideTextEditorに設定しました。

デフォルトでは、ボタンには省略記号が表示されます。

省略記号を削除するために、RepositoryItemButtonEditのButtonsプロパティを調整しました。KindをGlyphに設定し、画像をXアイコンに設定しました。

残念ながら、それは単にボタンを完全に削除するようです。

これを行うためのより良い方法、または各グリッド行に画像が表示されたボタンを表示する方法を知っている人はいますか?

4

2 に答える 2

3

実際に削除ボタンの種類があることを発見しました。だから、私は質問のようにすべてを行いますが、種類のグリフを選択する代わりに、削除を選択し、画像を選択する必要はありません。

于 2012-12-11T11:09:14.367 に答える
3

DevExpressフォーラムで見つけたものを要約しました:

ButtonEdit コントロールを使用して、TextEditStyleプロパティをに設定しますHideTextEditor。リポジトリアイテムにはButtons、キャプションや画像などを追加できるコレクションがあります。

Buttonsコレクションで、「Kind」プロパティを「Glyph」に変更します。このイベントを使用してCustomRowCellEdit、セルごとにエディターを条件付きで適用できます。ButtonのKindプロパティを「Glyph」に設定し、Captionプロパティを任意のテキストに設定してください。

DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit buttonEdit = 
    new DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit();
buttonEdit.Buttons[0].Kind = DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph;
buttonEdit.Buttons[0].Caption = "X";
buttonEdit.TextEditStyle =             
    DevExpress.XtraEditors.Controls.TextEditStyles.HideTextEditor;
e.RepositoryItem = buttonEdit;

GridViewのCustomRowCellEditイベントを処理し、新しいイベントを作成してRepositoryItemButtonEdit、に割り当てる必要がありe.RepositoryItem propertyます。

それがうまくいくかどうか教えてください。

于 2012-12-11T14:49:55.173 に答える