2

セル編集のために、.NET Compact Framework で DataGrid のソリューションを見つけようとしています。

Windows Mobile の .NET Compact Framework の既定の DataGrid でセルを編集することもできますか?また、その方法は?

それが不可能な場合、別の解決策は何ですか。空いている場合は他の制御が可能です。

4

2 に答える 2

2

Paul Yao による本「Programming the Compact Framework 3.5」では、4.4.9 章以降のデータグリッドの優れたインプレース編集ソリューションがあります。

抜粋:

"... 4.4.9 インプレース編集機能の提供 .NET Compact Framework DataGrid コントロールは、表示のみに使用されます。デスクトップ版とは異なり、データ変更機能はユーザーに提供されません。表示のみの制限を克服するにはDataGrid コントロールの場合、自分でデータ変更機能を提供する必要があります. アプリケーションは、DataGrid コントロールのインプレース編集を提供するために、2 つの手順を実行する必要があります.ユーザーが CurrentCell の内容を変更したいことを示したときはいつでも、すでに強調表示されている. 2. ユーザーが更新を完了したこと、または更新をキャンセルしていることを示すメカニズムを提供する. 更新が要求された場合は、入力コントロールの内容を移動する.必要に応じて、入力コントロールを非表示にします....."

コードは、登録後にhttp://www.paulyao.com/res/code/login.aspx?ReturnUrl=%2fres%2fcode%2fdefault.aspxで入手できます。Paul Yao は、データグリッドの上に表示されている Textbox を使用して、DataGrid の手動および自動インプレース編集の例を提供しています。

于 2013-04-17T04:31:04.503 に答える
1

いいえ、できません。ソースから:

.NET Compact Framework では、実行時に DataGrid の内容を直接編集することはできません。TextBox などのコントロールをデータ ソースにバインドし、DataGrid を使用してレコードを表示および選択する必要があります。

コンパクトなデバイスには多くの画面スペースがないため、セルの編集は実際には奇妙です. これを処理する 1 つの良い方法は、行内のエンティティを表すエディター フォームを用意することです。行を選択し、ボタンまたはコンテキスト メニューを使用して編集を開始します。選択した行/オブジェクトをこのフォームで開きます。編集が完了して [OK] をクリックすると、変更された値が行が表すオブジェクトにコミットされます...

これは、上で説明した編集フォームのプロセスを詳述した優れた記事です。リンクされた記事から:

この例では、DataGrid コントロールで選択されたレコードを表示および編集し、データベースに新しいレコードを追加するためのフォームで DataGrid コントロールを使用する方法を示します。DataGrid セルの編集は .NET Compact Framework ではサポートされていないため、DataGrid 値を編集するにはユーザー インターフェイスを提供する必要があることに注意してください。この例では、Visual Studio と共にインストールされる Northwind データベースを使用します。

于 2013-04-16T16:39:38.680 に答える