0
누군가가이 코드를 도울 수 있습니까?VB .net datagridview 어디 datasource 저장 프로 시저 dsql 피벗
DECLARE @cols AS NVARCHAR(MAX)
DECLARE @cale AS NVARCHAR(MAX)
DECLARE @ini AS DATETIME
DECLARE @fin AS DATETIME
SET @ini = (SELECT MIN(VerAvv) FROM CalendariVer)
SET @fin = (SELECT MAX(VerSca) FROM CalendariVer)
SELECT @cols = STUFF((SELECT ',' + QUOTENAME(CONVERT(NVARCHAR(10), Data, 103))
FROM Calendario WHERE Data BETWEEN CAST(@ini AS DATE)
AND CAST(@fin AS DATE)
GROUP BY Data
ORDER BY Data
FOR XML PATH(''),TYPE).value('.', 'NVARCHAR(MAX)'),1,1,'')
SET @cale = 'SELECT CalId, PiaId, PiaAcr, VerId, VerCod, Ver, Avvio, Chiusura, '[email protected]+'
FROM (SELECT dbo.CalendariVer.CalId, dbo.CalendariVer.PiaId, dbo.CalendariVer.PiaAcr, dbo.CalendariVer.VerId, dbo.CalendariVer.VerCod, dbo.CalendariVer.Ver, CONVERT(nvarchar(10), dbo.CalendariVer.VerAvv, 103) AS Avvio,
CONVERT(nvarchar(10), dbo.CalendariVer.VerSca, 103) AS Chiusura, CONVERT(NVARCHAR(5), dbo.CalendariVer.LezDal, 108) + '' - '' + CONVERT(NVARCHAR(5), dbo.CalendariVer.LezAl, 108) AS Orario,
CONVERT(nvarchar(10), dbo.Calendario.Data, 103) AS Data
FROM dbo.CalendariVer RIGHT OUTER JOIN
dbo.Calendario ON CAST(dbo.CalendariVer.Lez AS date) = dbo.Calendario.Data
WHERE CalID IS NOT NULL
GROUP BY dbo.CalendariVer.CalId, dbo.CalendariVer.PiaId, dbo.CalendariVer.PiaAcr, dbo.CalendariVer.VerId, dbo.CalendariVer.VerCod, dbo.CalendariVer.Ver, CONVERT(nvarchar(10), dbo.CalendariVer.VerAvv, 103),
CONVERT(nvarchar(10), dbo.CalendariVer.VerSca, 103), CONVERT(NVARCHAR(5), dbo.CalendariVer.LezDal, 108) + '' - '' + CONVERT(NVARCHAR(5), dbo.CalendariVer.LezAl, 108), CONVERT(nvarchar(10),
dbo.Calendario.Data, 103)) AS c
PIVOT (MAX(Orario) FOR Data IN ('[email protected]+')) AS p'
EXEC (@cale)
모든 작업 : 나는 개체의 목록을 반환하는 저장 프로 시저 일정에 합류했습니다.
Public Function Calendario_Ver() As DataTable
Dim cale As New DataTable()
Try
Acon()
Dim cal As New SqlCommand("CalendarioVer", con)
cal.CommandType = CommandType.StoredProcedure
Dim trova As New SqlDataAdapter(cal)
trova.Fill(cale)
Ccon()
Catch ex As Exception
Interaction.MsgBox(ex.ToString, MsgBoxStyle.Critical)
End Try
Return cale
End Function
을 그리고이 코드 DataGridView를 채우기 : 나는 기억 VB에서 함수했습니다 너무
Private Sub CaricaCalendario()
Try
With CalVerDataGridView
.Refresh()
.DataSource = Calendario_Ver()
.Columns(0).Visible = False
.Columns(1).Visible = False
.Columns(3).Visible = False
.Columns(2).HeaderText = "Piano"
.Columns(4).HeaderText = "Progetto"
.Columns(5).HeaderText = "Versione"
End With
Catch ex As Exception
Interaction.MsgBox(ex.ToString, MsgBoxStyle.Critical)
End Try
End Sub
모든 작업을하지만, 나는 열 piano
, versione
등을하여 데이터 소스 또는 DataGridView를 필터링 할 수있는 방법 ver
?
나는 DataGridView''에'BindingSource',하지만 아무것도 변화를 시도했다. – GCA
그러면 잘못한 것입니다. 우리가 한 일을 우리에게 보여주지 않으면, 그 일이 무엇이 잘못되었는지 우리에게 말할 수 없습니다. – jmcilhinney
나는 서브에서이 코드를 입력 : '공공 하위 SelezionePiani() 희미한 피아으로 새로운 BindingSource에 pia.DataSource = Calendario_Ver() CalVerDataGridView와 때 .refresh() .DataSource = PIA .Filter ("PiaId = '"& CalVerPiaComboBox.SelectedValue & "'") 끝으로 End Sub' – GCA