2012-12-23 14 views
5

XtraGridで特定の行セルを読み取り専用(編集不可)にするにはどうすればよいですか?たとえば、行[0]のみで、すべての行ではありません。1行だけXtraGridで行セル値readOnlyを作成できますか?

//... 
var repositoryItemTextEditReadOnly = new DevExpress.XtraEditors.Repository.RepositoryItemTextEdit(); 
repositoryItemTextEditReadOnly.Name = "repositoryItemTextEditReadOnly"; 
repositoryItemTextEditReadOnly.ReadOnly = true; 
//... 
void gridView1_CustomRowCellEdit(object sender, CustomRowCellEditEventArgs e) { 
    if(e.RowHandle == 0) 
     e.RepositoryItem = repositoryItemTextEditReadOnly; 
} 

答えて

8

あなたがGridView.CustomRowCellEditイベントを使用することができます

void gridView1_ShownEditor(object sender, EventArgs e) 
{ 
    ColumnView view = (ColumnView)sender;   

    view.ActiveEditor.Properties.ReadOnly = view.FocusedRowHandle == 0; 
} 
+0

優秀な答えは、私は認めざるを得ない気よりも長いためにこれを行うための良い方法を見つけることを試みて! :-) – DashRantic

0

出典:あなたは、グリッドを作成する必要がありHow to Conditionally Prevent Editing for Individual Grid Cells

条件に基づくセル読み取り専用、 最善のアプローチは、 のGridViewShowingEditorイベントを使用してイベントに渡さe.Cancelパラメータを経由して編集を防ぐためです。 の編集を防ぐ必要がある場合は、単にTrueに設定してください。

// disable editing 

private void gridView1_ShowingEditor(object sender, System.ComponentModel.CancelEventArgs e) { 

    GridView view = sender as GridView; 
     e.Cancel = view.FocusedRowHandle == 0; 
} 

ソース -How to display disabled buttons for particular cells within a ButtonEdit column
別のアプローチは、@DmitryGが示唆されているようにそれは読み取り専用のリポジトリエディタコントロールを割り当てると、ボタンを含む列があったとき、私もそのようにいくつかの回を実装しています。

2つのTextEditリポジトリ項目を作成する必要があります。 1つは有効なボタン で、もう1つは無効なボタンで表示されます。次に GridView.CustomRowCellEditイベントを処理し、 リポジトリアイテムをe.RepositoryItemパラメータに の特定の条件に従って渡します。詳細については、Assigning Editors to Individual Cellsヘルプトピックを参照してください。

enter image description here

private void gridView1_CustomRowCellEdit(object sender, CustomRowCellEditEventArgs e) 
{ 
    if (e.Column.Caption == "Any2") 
    { 
     if (e.RowHandle == 0) 
      e.RepositoryItem = columnReadOnlyTextEdit; 
     else 
      e.RepositoryItem = columnTextEdit;  
    } 
} 

参考文献:
How to customize the Look-And-Feel of my grid cells
How to make my grid columns read-only

関連する問題