Prateek gsharma Ответов: 1

Как получить сумму по метке из столбца datagridview


я имею в виду сказать есть

у меня есть

1) Datagridview
2) 4 колонки в datagridview...ie id,имя,тема,метки
3) этикетка в соответствии с элементом управления datagridview
4) я хочу получить сумму выбранной строки столбца меток...т. е. если я хочу получить сумму из 2 строк то я должен получить сумму только из 2 предметов но не общую сумму столбцов оценок

я пробовал, но я не получаю только за тащил ряд

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

частная dataGridView1_CellClick недействительным(объект отправителя, DataGridViewCellEventArgs е)
{
int sum = 0;
int i = e.RowIndex;
DataGridViewRow selectedrow = dataGridView1.Rows[i];
сумма += конвертация.ToInt32(selectedrow.Ячейки[6].Значение);
этикетка 1.Текст = сумма.Метод toString();
}






Также попробовал это сделать

частный недействительными Автосумма()
{
int sum = 0;
for(int i = 0;i<dataGridView1.Rows.Граф;++i)
{
сумма += конвертация.ToInt32(dataGridView1.Rows[i].Ячейки[6].Значение);
}

этикетка 1.Текст = "общая сумма равна :" + сумма.Метод toString();
}

Richard MacCutchan

В чем же проблема?

Prateek gsharma

прежде чем я получу столбец total sum marks, используя приведенный выше код...но требование заключается в том, что если я выберу 1 ячейку, то она должна отображать только это значение...если я выберу 2 ячейки столбца marks, то она должна отображать только сумму 2 ячеек... и так далее....

Prateek gsharma

здесь я получаю столбец total sum marks, используя приведенный выше код...но требование заключается в том, что если я выберу 1 ячейку, то она должна отображать только это значение...если я выберу 2 ячейки столбца marks, то она должна отображаться только сумма 2 ячеек... и так далее....

Prateek gsharma

кто-нибудь может мне помочь?

1 Ответов

Рейтинг:
1

Maciej Los

Цитата:
я хочу получить сумму выбранной строки столбца меток

Если я правильно вас понял, вы хотите получить коллекцию Практическое руководство.SelectedRows[^] затем, чтобы отобразить sum(marks) в этикетке.
Итак, вы должны использовать Практическое руководство.Событие SelectionChanged (Системы.Окна.Формы)[^] чтобы иметь возможность достичь этого. Используйте приведенный ниже код внутри этого события (тело события):
int sum = 0;
foreach(DataGridViewRow dgr in dataGridView1.SelectedRows)
{
    sum+= dgr[6].Value;
}
label1.Text = sum.ToString();


Другой способ заключается в использовании В LINQ[^]:
label1.Text = dataGridView1.SelectedRows.Cast<DataGridViewRow>().Sum(dgr=>dgr.Cells[6].Value).ToString();


Prateek gsharma

я получаю ошибку типа "не удается применить индексацию с помощью[] к выражению типа "datagridview"....

могу ли я предоставить вам приложение, чтобы увидеть мое точное требование?как прикрепить word docs к этой странице?

Maciej Los

Итак, попробуйте заменить:

Sum(dgr=>dgr[6].Value)

с
Sum(dgr=>dgr.Cells[6].Value)

Видеть: Как управлять строками в элементе управления Windows Forms DataGridView | Microsoft Docs[^]

Prateek gsharma

Сумма(dgr=>dgr.Ячейки[6].Значение)

все еще не работает

Prateek gsharma

сумма(dgr=>dgr.Ячейки[6].Значение);

теперь я получаю ошибку "ожидаемое имя метода"

Maciej Los

Ну, мне было лень перестраивать твою проблему. Я обещаю, что посмотрю поближе и дам вам знать о прогрессе.

Prateek gsharma

кто-нибудь, пожалуйста, ответьте мне?

Maciej Los

Я проверил свое решение и оно работает как и ожидалось:

label1.Text = dgv.Rows.Cast<DataGridViewRow>().Sum(x=>Convert.ToDouble(x.Cells[6].Value)).ToString();

Для datagridview, который привязан к источнику данных, вы должны использовать методы базы данных!

Prateek gsharma

Мой вопрос заключается в том, "как суммировать выбранную ячейку datagridview" на этикетке?но все же я не получил решения?

Prateek gsharma

где мне заменить этот код, сэр?

Prateek gsharma

Мой вопрос заключается в том, "как суммировать выбранную ячейку datagridview" на этикетке?но все же я не получил решения?

Maciej Los

Я дал ответ здесь:

label1.Text = dgv.SelectedRows.Cast<DataGridViewRow>().Sum(x=>Convert.ToDouble(x.Cells[6].Value)).ToString();

Это работает, как и ожидалось для меня.
Для получения более подробной информации, пожалуйста, смотрите:
Практическое руководство.Свойство SelectedRows (System.Окна.Формы)[^]
Как получить выбранные ячейки, строки и столбцы в элементе управления Windows Forms DataGridView | Microsoft Docs[^]

Prateek gsharma

куда мне его вставить?