DataGridView -> problem z wyliczaniem danych w kolumnie

0

Hej,
Przypominając sobie Desginera w C# wpadłem na pomysł, aby walnąć prostego DataGrid, który pobierze dane z SQL'a.
I o ile pobranie danych z bazy i późniejsze wrzucenie ich do określonych kolumn w DataGrid'zie nie stanowi problemu, tak mam problem z obliczeniami.

Chodzi o to, aby dane z wiersza w kilku kolumnach zsumować i pokazać w kolejnej kolumnie.
Czyli, chodzi o to, aby z 6 kolumn zsumować dane, podzielić je przez 6 i zaprezentować w kolumnie ze średnią.
screenshot-20220216235654.png

Kod jaki obecnie posiadam to coś takiego:

   SqlConnection sqlConn = new SqlConnection("");
            string queryString = @"";
            SqlCommand cmd = new SqlCommand(queryString, sqlConn);
            sqlConn.Open();
            using (SqlDataReader reader = cmd.ExecuteReader())
            {
                
                    DataTable dt1 = new DataTable();
                    dt1.Load(reader);
                    dataGridView1.AutoGenerateColumns = false;
                    
                    dataGridView1.Columns["Column5"].DataPropertyName = "6m";
                    dataGridView1.Columns["Column6"].DataPropertyName = "5m";
                    dataGridView1.Columns["Column7"].DataPropertyName = "4m";
                    dataGridView1.Columns["Column8"].DataPropertyName = "3m";
                    dataGridView1.Columns["Column9"].DataPropertyName = "2m";
                    dataGridView1.Columns["Column10"].DataPropertyName = "1m";
                                        
                    DataColumn average = new DataColumn();
                    average.DataType = System.Type.GetType("System.Decimal");
                    average.ColumnName = "XX";
                    average.Expression = "'60'";
                    
                    dt1.Columns.Add(average);
                    dataGridView1.Columns["Column16"].DataPropertyName = "XX";

                    dataGridView1.DataSource = dt1;
                    
            }
            sqlConn.Close();
        }

I pytanie jak zrobić, aby do DataColumn average wpisać dane z kolumn, które chcę aby były brane do wyliczenia średniej? Na chwilę obecną wypełniam ją stałą wartością 60, pozostało po testowaniu różnych wersji :)

0

Nie lepiej będzie zrobić wyliczenia po stronie SQL i tylko przekazać wyliczoną kolumnę do Grida?

2

Albo po Bożemu.
Zrobić model danych, załadować dane z DB do modelu, przeliczyć i podpiąć do tabeli.

0
AdamWox napisał(a):

Nie lepiej będzie zrobić wyliczenia po stronie SQL i tylko przekazać wyliczoną kolumnę do Grida?

Na początku też o tym myślałem, ale później pojawił się pomysł, a co by było gdyby losowo brać ilość miesięcy do wyliczenia :)

jacek.placek napisał(a):

Albo po Bożemu.
Zrobić model danych, załadować dane z DB do modelu, przeliczyć i podpiąć do tabeli.

Sprawdzę sobie wieczorkiem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1