CE 5.0 Compact Framework .NET 上の DataGrid は編集をサポートしていますか?

StackOverflow https://stackoverflow.com/questions/86710

質問

ユーザーが編集できる 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 の内容が含まれることを期待しないでください (というより、引用する前に確認してください!)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top