がSilverlight 4で列全体の編集を無効にしないで、のデータグリッド内の特定のセルの編集を無効にすることが可能かどうかを知る必要があります。特定のセルオブジェクトをFrameworkElementプロパティIsReadOnlyまたはIsEnabledが含まれていません。 あなたはたぶん質問します:なぜ私はそれを必要としますか?私のアプリケーションでは、特定のセルを他のセルの内容に応じて無効にする必要があります。各行はこのように個別にチェックされています。 あなたは、私は、このような異常な動作を実現することができる方法のアイデアを持っている場合は記入してください;)DataGridで特定のセルの編集を無効にする
2
A
答えて
1
あなたは、行、あなたは無効にしているしたいセル/セルの列インデックスがある場合:次に
int r = 2, c = 4;
をあなたは、イベントCellEnterとCellLeaveに耳を傾け、次の操作を実行できます。
private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex == r)
{
if (e.ColumnIndex == c)
{
dataGridView1.Columns[e.ColumnIndex].ReadOnly = true;
}
}
}
private void dataGridView1_CellLeave(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex == r)
{
if (e.ColumnIndex == c)
{
dataGridView1.Columns[e.ColumnIndex].ReadOnly = false;
}
}
}
あなたはまだ読み取り専用に列全体を設定しているが、あなたはセルを離れた後、あなたはそれをバックにリセットされるので、それが表示されるという効果があります細胞のために働くだけです。
0
おかげNominSimが、これは私があまりにも私のproplemをお解決するために私を助けますが、NominSimが言ったようにneurotix シルバー4.
に私のDataGridにCellEnterとCellLeave方法を見つけるdidntのように、あなたが行のインデックスを知っている必要がありますと列。私はそれを解決する方法
:
を無効に編集
System.Windows.Threading.DispatcherTimer timMakeEditable = new System.Windows.Threading.DispatcherTimer();
private void dataGrid1_PreparingCellForEdit(object sender, DataGridPreparingCellForEditEventArgs e)
{
timMakeEditable.Interval = new TimeSpan(0, 0, 0, 0, 100); // 100 Milliseconds
timMakeEditable.Tick += new EventHandler(timer_Tick);
timMakeEditable.Start();
if (e.RowIndex == r && e.ColumnIndex == c)
{
dataGrid1.Columns[yourColumnIndex].IsReadOnly = true;
}
}
数ミリ秒後に編集
を有効にタイマーはカラムが有効になってます
void timer_Tick(object sender, EventArgs e)
{
dataGrid1.Columns[yourColumnIndex].IsReadOnly = false;
timMakeEditable.Stop();
}
私はcellEditEndedを使うのが良いアイデアだと思っていますが、それは私のためには機能しませんでした。
0
あなたは、私はこの本は、特定のセルを無効にするための最高のアイデアである。この
<DataGridTextColumn Header="ID"
Binding="{Binding ID}"
IsReadOnly="True"/>
のような特定のセルにIsReadOnly属性を使用することができます。 ありがとう
関連する問題
- 1. Slickグリッドで特定のセル編集を無効にする
- 2. Django admin - 特定のモデルインスタンスの "編集"を無効にする
- 3. PHPmyadminでセルCLICKのインライン編集を無効にする方法
- 4. DataGridのセルを無効にする
- 5. WPF Datagridでセルの編集を無効にするにはどうすればよいですか?
- 6. ダブルクリックでセル編集可能オプションを無効にする方法
- 7. DataGridで編集を選択的に無効にする方法は?デフォルトの編集によって
- 8. 有効、無効にする特定の列WPFツールキットのDataGrid
- 9. MFMailComposeViewControllerの編集を無効にする
- 10. リストボックスの編集を無効にする
- 11. Telerik GridView Rowで特定のセルを無効にする方法
- 12. Django - モデル編集を無効にする
- 13. extjsエディタグリッド内の特定のセルを無効にする方法
- 14. WPF Datagridは単一セルの値のみを編集します
- 15. wx.ListCtrl with TextEditMixin - 選択したセルの編集を無効にする
- 16. PrimeFacesで編集可能なDataTableの特定のセルの編集を制限する方法
- 17. セルの編集を無効にするか、セルの読み取り専用にする
- 18. DataGridのセルを特定のテキストに設定する
- 19. Silverlight DataGridで編集モードでセルのテキストの色を変更する方法は?
- 20. ユーザー編集後にDatagridセルの書式設定が保持されない?
- 21. GWT CellTableセル読み取り専用/無効/編集不可能
- 22. 特定の列の編集
- 23. GridViewの行でクリックした編集ボタンに基づいて特定のデータ入力オブジェクトを無効にする
- 24. コモド編集で特定の警告を無効にすることはできますか?
- 25. 読み取り専用のSilverlight DataGridでセル編集スタイルを削除する
- 26. セル編集後にWPF DataGridをリフレッシュすることはできません
- 27. DataGridの編集をキャンセルする方法
- 28. JTableでのセル編集
- 29. DataGridでObservableDictionaryを編集する
- 30. DataGridViewセル編集
少し違ったアプローチを使用しました。私はDataGridのCurrentCellChangedイベントとCellEditEndedイベントに接続しました。しかし、そのアイデアは本当に役に立ちました。ありがとうございました! – neurotix
これを実装した方法を教えてください。ありがとう。 – tobewan
あなたは**ブール論理**が何であるかわからないですか? – Arnthor