Member 14836421 Ответов: 2

Когда я использую bindingsource для фильтрации datagridview, но не могу добавить новую строку total в нижний колонтитул


Мой код ниже, но я не могу добавить новую строку (общая сумма в столбце "сумма"), когда использую bingdingsource для фильтрации

int Period = Convert.ToInt32(cmbPeriods.SelectedValue);
            int ColumnsNo = 0;

            if (cmbSearch.Text == "Mã Công đoạn")
            {
                ColumnsNo = 8;
            }
            else if (cmbSearch.Text == "Ký hiệu CĐ")
            {
                ColumnsNo = 9;
            }
            else if (cmbSearch.Text == "Mã Sản phẩm")
            {
                ColumnsNo = 6;
            }
            else if (cmbSearch.Text == "Mã Nhân viên")
            {
                ColumnsNo = 10;
            }
            else if (cmbSearch.Text == "Số chứng từ")
            {
                ColumnsNo = 2;
            }
            else if (cmbSearch.Text == "Ngày hoàn thành")
            {
                ColumnsNo = 3;
            }

            BindingSource bs = new BindingSource();
            bs.DataSource = dgvVF1114.DataSource;
            bs.Filter = string.Format("Convert(" + dgvVF1114.Columns[ColumnsNo].DataPropertyName + ", System.String) like '%" + txtSearch.Text.Replace("'", "''") + "%'");
            dgvVF1114.DataSource = bs;           

            int rc = dgvVF1114.Rows.Count;
            double sum1 = 0;
            for (int i = 0; i < rc; i++)
            {
                sum1 += double.Parse(dgvVF1114.Rows[i].Cells[11].Value.ToString());
            }

            var dta = new System.Data.DataTable();            
            dta = dgvVF1114.DataSource as DataTable;

            DataRow row = dta.NewRow();
            row["Amount"] = "Total when filter";
            dta.Rows.Add(row);
            dta.AcceptChanges();
            dgvVF1114.DataSource = dta;
           stt


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

Как добавить строку в нижний колонтитул datagridview, когда я использую bindingsource для фильтрации. Спасибо за вашу помощь !!!

Richard MacCutchan

Вы должны добавить дополнительную строку в источник привязки (datatable) и обновить представление.

Member 14836421

Пожалуйста, введите свой код. Спасибо за вашу помощь!

2 Ответов

Рейтинг:
17

Maciej Los

Вы должны добавить еще один элемент управления(ы) под объектом datagridview, чтобы иметь возможность отображать итоговые значения. Вот вам идея: Резюме Практическое Руководство[^]

Для получения более подробной информации о привязке данных, пожалуйста, смотрите раздел: Подробное Руководство По Привязке Данных[^]


Рейтинг:
0

Member 14836421

Спасибо за Вашу помощь Мацей Лос. Я проверю и отвечу на ваши вопросы.


Maciej Los

Это не ответ. Пожалуйста, удалите его, чтобы избежать голосования вниз. Чтобы оставить комментарий, используйте виджет "есть вопрос или комментарий" под решением.