CE 5.0 Compact Framework .NET 上の DataGrid は編集をサポートしていますか?
-
01-07-2019 - |
質問
ユーザーが編集できる CE 5.0 / .NET CF 2.0 で DataGrid を取得しようとしています。の文書 http://msdn.microsoft.com/en-us/library/ms838165.aspx 一部の環境が編集をサポートしていないことを示します -
Datagridコントロールでの編集のネイティブサポートはないため、これは手動で実装する必要があります
この見苦しい例 (示されているようにあまりうまく機能しません) を実装する必要がありますか?
ドキュメントには、どのプラットフォームでどの .NET 機能が利用できるかが明確ではありません。
解決
いいえ、直接編集することはできません。MSDN には、データ編集に関する提案を含む、DataGrid の使用に関するサンプルが用意されています。 ポケットPC そして スマートフォン デバイス。どちらも汎用 CE デバイスにとっては妥当なスタートですが、一般的な戦略は、どのセルがアクティブであるかを決定し、編集機能のためにその上にテキスト ボックスを配置することです。
こちらもご覧ください Eric Hartwell による DataGrid 用の拡張機能 同様に CodeProject の CF データグリッド.
もちろん、Resco や ComponentOne などの一般的な製品も商用製品を提供しています。
他のヒント
残念ながら、DataGrid は編集をサポートしていません。私がやっているのは、読み取り専用データを表示するためにそれを使用し、選択したレコードを編集するための別のフォームを提供することです。
グリッド レイアウトでの編集をサポートする必要がある場合は、サードパーティのコンポーネントを探すことになります。
http://msdn.microsoft.com/en-us/library/ms838165.aspx
皆さん、それはできます。それに従ってください。完了したらとても簡単です ;P..
リンク http://msdn.microsoft.com/en-us/library/ms838165.aspx とても役に立ちましたが、バグがあると思います。の代わりに
DataTable dataTable = (DataTable)grdOrders.DataSource;
DataView dataView = dataTable.DefaultView;
そのはず
DataView dataView = (DataView)itemdataentryGrid.DataSource;
DataTable dataTable = dataView.Table;
そうですね、私の意見ではそれは冗談です。なぜ 1.0 以来このままにしてきたのかは神のみぞ知るです。私の初めての CF プロジェクトでは、それが利用可能であると思い込み、合意された仕様に含めるために読み取り/書き込み機能の実装に時間を費やしました。:(
その日、私は非常に重要な教訓を学びました。CF に FF の内容が含まれることを期待しないでください (というより、引用する前に確認してください!)。