Подтвердить что ты не робот

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?

активирует только кнопку,
4b9b3361

Ответ 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