DataGridView RowCount vs Rows.Count
Если у меня есть DataGridView uxChargeBackDataGridView
.
Являются ли следующие синтаксически разные, но фактически одинаковые?:
int numRows = uxChargeBackDataGridView.Rows.Count;
int numRowCount = uxChargeBackDataGridView.RowCount;
Если uxChargeBackDataGridView
пусто, то оба равны 1; поэтому логически стоит, что если одно из них равно 1, я могу предположить, что пользователь не вводил никаких данных?
У WinFroms есть кнопка RUN
- могу ли я использовать описанный выше тест, чтобы решить, включена ли эта кнопка или нет. Если только кнопка number of rows is >1
?
активирует только кнопку,
Ответы
Ответ 1
Оба утверждения одинаковы. Однако следует помнить, что "пустой" datagridview имеет 1 запись, только если для свойства AllowUsersToAddRow
установлено значение true. В противном случае количество строк будет равно 0.
EDIT:
Я хотел бы добавить, вместо MMK ответьте, что если вы не измените RowCount, как вручную, так и программно, они вернут одно и то же значение. См. http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.rowcount.aspx.
Ответ 2
RowCount получает или задает количество строк, отображаемых в DataGridView.
Rows.Count возвращает количество строк
Ответ 3
Следующий оператор возвращает тот же результат, но RowCount ограничивает количество строк, отображаемых в DataGridView.
int numRows = uxChargeBackDataGridView.Rows.Count;
int numRowCount = uxChargeBackDataGridView.RowCount;
Обратите внимание на примечание ниже на свойство DataGridView.RowCount
Если AllowUserToAddRows верно, вы не можете установить RowCount равным 0. В этом case, вызовите метод DataGridViewRowCollection.Clear, чтобы удалить все строки, кроме строки для новых записей. Вызов Clear имеет тот же результат поскольку в этом случае значение RowCount равно 1, но намного быстрее.
Если для параметра RowCount
установлено значение меньше текущего значения, строки будут удалены с конца коллекции строк. Если для параметра RowCount установлено значение больше текущего значения, строки будут добавлены в конец коллекции строк. Дополнительные строки основаны на строке, указанной в свойстве RowTemplate.
Если это правда, рассматривается пустая строка по умолчанию. Он реализует интерфейс IBindingList. Ссылка: DataGridView - что делает AllowUserToAddRows?
Если DataGridView привязан к данным, пользователю разрешено добавлять строки если и это свойство, и источник данных IBindingList.AllowNewсвойство имеют значение true.
Ответ 4
Если AllowUserToAddRows верно, по крайней мере одна строка всегда будет присутствовать в сетке для новой записи. Чтобы исключить эту строку, проверьте свойство IsNewRow на объекте строки.
Ответ 5
Если вы декомпилируете сборку System.Windows.Forms.DataGridView
, вы увидите:
public int RowCount
{
get
{
return this.Rows.Count;
}
Итак, RowCount
возвращает Rows.Count