PmJN Ответов: 1

Запуск расчета общего промаха с двумя несвязанными столбцами


Running total - это пропущенный расчет, когда у меня есть более одного несвязанного столбца для отображения текущего итога определенных продуктов.

Отображая текущий итог одного продукта, он отлично работает, но когда я добавляю больше несвязанных столбцов, результаты не вычисляются должным образом.

например для одного продукта A:

Нарастающий итог-это отлично рассчитали
Прод Сперма В
1 1
2 3
3 6

например для двух продуктов A и B это результат который я получаю:

Прод Прод Б Сперма Сперма Б
1 2 3 3
2 4 9 9
3 6 18 18


Есть Предложения?

С уважением

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

ниже приведен код, который я использовал для расчета текущего итога для одного продукта A:
 private void ProdgridView_CustomUnboundColumnData(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e)
        {
            GridView view = sender as GridView;

            if (e.Column.FieldName == "ACumProd" & e.IsGetData )
            {
                decimal val = 0;
                for (int i = 0; i <= e.ListSourceRowIndex; i++)
                {
                    val = val + (decimal)view.GetRowCellValue(i, view.Columns["ProdA"]);
                    
                }
                e.Value = val;
            }

And For two products A and B 

private void ProdgridView_CustomUnboundColumnData(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e)
        {
            GridView view = sender as GridView;

            if (e.Column.FieldName == "ACumProd" & e.IsGetData || e.Column.FieldName == "BCumProd" & e.IsGetData)
            {
                decimal val = 0;
                for (int i = 0; i <= e.ListSourceRowIndex; i++)
                {
                    val = val + (decimal)view.GetRowCellValue(i, view.Columns["ProdA"]);
val = val + (decimal)view.GetRowCellValue(i, view.Columns["ProdB"]);
                    
                }
                e.Value = val;
            }

1 Ответов

Рейтинг:
8

Richard MacCutchan

    for (int i = 0; i <= e.ListSourceRowIndex; i++)
    {
        val = val + (decimal)view.GetRowCellValue(i, view.Columns["ProdA"]);
        val = val + (decimal)view.GetRowCellValue(i, view.Columns["ProdB"]);
    
    }
    e.Value = val;
} 

Вы накапливаете оба итога в одну и ту же переменную.


Maciej Los

Ястребиный глаз!

Richard MacCutchan

Спасибо тебе, Чингачгук.

Maciej Los

Что такое "Чингачгук"? Мне кажется, тут есть что-то смешное...

Richard MacCutchan

Он был главным героем и спутником Соколиного глаза-пограничника в романе Дж. Фенимора Купера "Последний из могикан". Интересное чтение, Если вы любите исторические романы.

Maciej Los

Я знаю этот роман и читал его. Я тоже видел это видео, но "ястребиный глаз" не ассоциировался у меня с "Чингачгуком".
В польском варианте романа: "Чингашгук". Разные слова по написанию, но произношение одно и то же.
;)
Я думал о "ястребином глазу" как о человеке, который очень проницателен.

Richard MacCutchan

Ястребиный глаз == Hawkeye по-английски. Его настоящее имя-Нетти Бампо, как его зовут по-польски?

Я бы не назвал себя "очень проницательным", но иногда я могу заметить очевидную ошибку.

Maciej Los

Насколько я помню, настоящее имя Соколиный глаз было использовано только один раз. А это: Нетти Бампо :)

Richard MacCutchan

Извините, я имел в виду, что "Соколиный глаз" - это то же самое по-польски?

Maciej Los

Нет.
Ястреб = Сокол
Глаз = Око
"Соколиный Глаз" = "Сокол Око"