Member 13111663 Ответов: 1

Как подсчитать данные из базы данных в datagridview и поместить их в текстовое поле, не выделяя его? Ребята мне нужна помощь


int count = 0;

частный недействительными timer1_Tick(объект отправителя, EventArgs в электронной)
{
кол-во = metroGrid1.Избранные воробьи.Рассчитывать;
txtSumClient.Текст = количество.Метод toString();
txtSumClient.Цвет Текста = Цвет.Красный;
}

Что я уже пробовал:

Код выше - это мой текущий код, проблема в том, что я должен выбрать данные datagridview до того, как они будут подсчитаны в текстовое поле, что мне нужно, когда форма загружает количество (количество клиентов) в текстовое поле. Пожалуйста, ребята, помогите мне. Заранее спасибо.

Michael_Davies

Событие DataBindingComplete может работать для любого изменения привязки данных вместе с событием show или load формы.

Maciej Los

RowCount или Rows.Count разве этого недостаточно?

1 Ответов

Рейтинг:
0

CHill60

Это сделает это:

private void DataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
    txtSumClient.Text = DataGridView1.Rows.Count.ToString();
    txtSumClient.ForeColor = Color.Red
}
В частности, вы не должны использовать таймер.
Я немного обеспокоен вашим комментарием
Цитата:
Проблема в том, что я должен выбрать данные datagridview перед их подсчетом в текстовое поле, что мне нужно, так это когда форма загружает количество (количество клиентов) в текстовое поле
Вы не можете выбрать какие-либо данные в datagridview до тех пор, пока форма не будет загружена. Поэтому обратите внимание, что код, который я вам дал до сих пор, будет считать все строки в datagrid. Это всегда будет одна строка, если вы не отключили возможность пользователя добавлять новые строки, например (у меня есть функция ReadData это возвращает DataTable)
private void Form1_Load(object sender, EventArgs e)
{
    DataGridView1.AllowUserToAddRows = false;
    DataGridView1.DataSource = ReadData();
}
Если вы хотите, чтобы текстовое поле показывало количество выбранный строки, то событие, которое вам нужно подключить, - это событие SelectionChanged, например
private void DataGridView1_SelectionChanged(object sender, EventArgs e)
{
    txtSelected.Text = DataGridView1.SelectedRows.Count.ToString();
}
Предполагая, что у вас есть DataGridView1.MultiSelect = true; (либо в коде, либо в окне свойств)


Member 13111663

Спасибо, ребята!