jomachi Ответов: 1

Как правильно добавить данные в пользовательский datagridview?


Привет ребята
У меня есть форма с пользовательским datagridview.
С помощью этого кода я попытался загрузить на него данные, но не правильно.

База данных sql server имеет три столбца

Улучшить - - - Статус - - - Idate
Data1-------1------1/6/2017
Data1-------1------2/6/2017
Data1-------1------3/6/2017
Data2-------1------1/6/2017
Data2-------1------2/6/2017
Data2-------1------3/6/2017

с помощью этого кода результат таков

--------------Пн Вт Вэнь
Улучшение-------1----2---3

Data1 ---------1----1---1

Data2 не отображается в Datatgridview

Datagridview имеет столбцы дней месяца.

Что я делаю не так?

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

Private Sub fill_plan()
        dataGridView1.Rows.Clear()
        Try
            Dim i As Integer = 0
            Dim improve As String = String.Empty
            Dim query As String = "SELECT Improve,Status,Idate FROM Improves"
            cmd = New SqlCommand(query, con)
            myDR = cmd.ExecuteReader
            If myDR.HasRows Then
                While myDR.Read
                    Dim myday As Integer = DatePart(DateInterval.Day, myDR.GetValue(myDR.GetOrdinal("Idate")))
                    If Not (myDR.GetString(myDR.GetOrdinal("Improve")) = improve) Then
                        dataGridView1.Rows.Add()
                        dataGridView1.Rows(i).Cells(0).Value = myDR.GetString(myDR.GetOrdinal("Improve"))
                        improve = myDR.GetString(myDR.GetOrdinal("Improve"))
                        dataGridView1.Rows(i).Cells(myday).Value = myDR.GetInt32(myDR.GetOrdinal("Status"))
                    Else
                        dataGridView1.Rows(i).Cells(myday).Value = myDR.GetInt32(myDR.GetOrdinal("Status"))
                    End If
                End While
            End If
            myDR.Close()
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical, "error")
        End Try
    End Sub
<pre>

1 Ответов

Рейтинг:
2

Maciej Los

Все, что вам нужно сделать, это свернуть данные на сайте sql server:
Использование PIVOT и UNPIVOT | Microsoft Docs[^]
Сводные таблицы в SQL Server. Простой пример. - Советы и рекомендации с точки зрения поддержки разработчиков.[^]
Преобразование Разворота[^]
затем загрузите его в datatable и свяжите с datagridview.

Удачи вам!