Hejsan!
Jag har en SQL-Fråga, som nu tyvärr inte är riktigt klar, men fungerar iallafall så att jag kan börja på programmeringsbiten.
Såhär ser den ut
declare @listcol nvarchar(max)
declare @query nvarchar(max)
select @listcol = STUFF(( Select distinct
'],[' + LTRIM(str(Subject_ID))
from ämnen
FOR XML PATH('')
), 1, 2, '') + ']'
set @query =
'SELECT *
FROM (
SELECT Elev_ID, Subject_ID, Teacher_ID
FROM ämnen) myTemp
PIVOT (count(Teacher_ID) FOR Subject_ID
IN (' +@listcol+')) AS pvt
order by Elev_ID'
execute (@query)
Och då får jag ett resultat som KAN se ut såhär.
Det är lite svårläst men hoppas ni förstår ändå
Nu vill jag peta in allt det här i en GridView på min WebForms-sida.
Kruxet:
Att kolumnerna i GridView ska "genereras" dynamiskt efter vad som SQL-frågan returnerar
Alla kolumner, förutom Elev_ID, ska vara DropDownLists
DropDownList:arna ska alla innehålla samma sak, men ska ha olika selected value utifrån svaret på SQL-Frågan
Jag har inte fått till SQL-Frågan än tyvärr, men vill komma igång med programmeringen. Det som jag inte fått till är att istället för count(teacher_id) ska man få presenterat ett teacher_id eller null.
Har provat med max(cast(teacher_id as nvarchar(max))) men fick någon slags error då :/
Jag har kommit en bit nu iallafall :)
Har dock kört fast på en grej. Det går ju att sätta ett ID på en kolumn. Men jag vet inte hur jag ska kunna sätta IDt på kolumnen jag skapar i loopen. Såhär skapar jag kolumnerna nu:
foreach (Ämnen sbj in Ämne)
{
TemplateField tmpfield = new TemplateField();
tmpfield.HeaderText = sbj.Ämne;
GridView1.Columns.Add(tmpfield);
}
245 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849