13

DataGridViewがある場合uxChargeBackDataGridView

次の構文は異なりますが、実質的に同じですか?:

int numRows = uxChargeBackDataGridView.Rows.Count;
int numRowCount = uxChargeBackDataGridView.RowCount;

空の場合uxChargeBackDataGridView、両方とも1に等しくなります。したがって、これらのいずれかが1に等しい場合、ユーザーがデータを入力していないと想定できるというのは論理的に正しいのでしょうか。

WinFromsにはボタンがありますRUN-上記のテストを使用して、このボタンが有効になっているかどうかを判断できますか?つまり、ボタンを有効にするのはnumber of rows is >1

4

5 に答える 5

15

RowCount は、DataGridView に表示される行数を取得または設定します。

Rows.Count は行数を返します

于 2012-07-23T12:50:32.050 に答える
11

どちらのステートメントも同じです。AllowUsersToAddRowただし、覚えておくべきことの 1 つは、プロパティが true に設定されている場合にのみ、「空の」datagridview に 1 つのレコードがあることです。それ以外の場合、行数は 0 になります。

編集:MMKの回答の代わりに、手動またはプログラムでRowCountを変更しない場合、同じ値が返されることを追加したいと思います。http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.rowcount.aspxを参照してください。

于 2012-07-23T12:50:08.367 に答える
1

次のステートメントは同じ結果を返しますが、RowCount は DataGridView に表示される行数を制限します。

int numRows = uxChargeBackDataGridView.Rows.Count;
int numRowCount = uxChargeBackDataGridView.RowCount;

以下のDataGridView.RowCount プロパティに関する注記を確認してください。

If AllowUserToAddRows is true, you cannot set RowCount to 0. この場合、DataGridViewRowCollection.Clear メソッドを呼び出して、新しいレコードの行を除くすべての行を削除します。この場合、Clear を呼び出すと、RowCount を 1 に設定するのと同じ結果になりますが、はるかに高速です。

RowCountが現在の値より小さい値に設定されている場合、行は Rows コレクションの末尾から削除されます。RowCount が現在の値より大きい値に設定されている場合、行は Rows コレクションの最後に追加されます。追加の行は、RowTemplate プロパティで指定された行に基づいています。

true の場合、デフォルトの空の行が考慮されます。IBindingList インターフェイスを実装します。参照: DataGridView - AllowUserToAddRows は何をしますか?

DataGridView がデータにバインドされている場合、このプロパティとデータ ソースのIBindingList.AllowNew プロパティの両方が true に設定されていれば、ユーザーは行を追加できます。

于 2012-07-23T12:59:08.210 に答える