Hej! Förslag nummer ett låter bra. Det är så jag alltid gör. Hej o tack för svaret! Har du döpt din datagrid till "DataGrid"? Nä, jag menar DataGrid1.Columns... Columns finns inte under DataGrid En klassisk länk: Tack, men den har jag redan läst. Men jag fattar inte riktigt vad man skall ange som MappingName? Min source läser jag direkt in i DataGrid från ett DataSet. Någon DataTable använder jag inte.Ändra Datatype i Datagrid? Eller annat förslag.
Sitter och funderar hur jag enklast kan göra en lösning för mitt problem.
Följande gäller. Jag har en DataAdapter kopplat till min Access-databas där jag hämtar upp data till mitt DataSet.
Jag fyller min DataDapter: dataAdapter.Fill(myDataSet)
Detta funkar bra och allt är frid o fröjd. Nu över till problemet.
I min databas så finns det värden för en kolumn som varierar mellan 0-999 och är Integer. Dessa värden vill jag byta mot 4-5 benämningar med Math.Floor(mittVärde / 200)
0-199 Dålig
200-399 Inget vidare
400-599 OK
600-799 Bra
800-999 Mycket bra
Problemet är då att har man en syllt sin DataGrid med ett värde så kan man inte ändra dess DataType. Jag kan ändra typen INNAN jag skriver till Datagriden så här:
dstPlayersText.Tables("TabellNamn").Columns("Värde").DataType = System.Type.GetType("System.String")
Men har jag en gång fyllt DataGriden så kan jag inte ändra sedan.
Användaren skall alltså kunna välja om han vill se Värdena eller se benämningarna.
Hur gör man detta på ett smart o enkelt sätt??
Förslag:
1: Skapa en extra kolumn för textbenämningarna och gör HIDE/VISIBLE på de två kolumnerna som visar samma sak.
2. Skapa en ny DataGrid och hantera två stycken DataGrids samtidigt. Lägger dem på varandra och visar den de vill se? (Mot olika DataSets)
3. Annat förslag? Dataset? DataTable? DataView?
Tack för Era förslag...
/MagnusSv: Ändra Datatype i Datagrid? Eller annat förslag.
Förslag:
1: Skapa en extra kolumn för textbenämningarna och gör HIDE/VISIBLE på de två kolumnerna som visar samma sak. Sv: Ändra Datatype i Datagrid? Eller annat förslag.
Dock behöver jag lite mer hjälp med detta. Jag har skapat ett antal extra kolumner och konverterat mina värden. Men jag behöver hjälp med följande.
1. Jag har sökt på Google hur man gömmer kolumner men jag får det ändå inte att fungera. De skriver att man skall göra DataGrid.Columns("minKolumn").Hide() Men deta får jag inte att fungera. Column finns inte för DataGrid(iaf. inte med Intellisense).
2. Sedan vill jag kunna sortera på mina nya textbaserade kolumner.
OK
Bra
Mkt Bra
Sortering måste ju ske mot de underliggande kolumnerna. Klickar jag på kolumnen med textvärdena så sorterar den stringbaserat -> Bra, Mkt Bra, OK.
Jag vill alltså kunna sortera textkolumnen med de gömda värdena som bas. Hur gör jag detta på ett snyggt sätt? Ok, Bra, Mkt Bra.
/MagnusSv: Ändra Datatype i Datagrid? Eller annat förslag.
Det är ditt namn på datagridden som ska ersätta den texten i koden:
<code>DataGrid.Columns("minKolumn").Hide() </code>
Har tyvätt inte tillgång till .net just nu men där ska finnas en sortering metod per column efter
DataGrid.Columns("minKolumn").
där du också anger om det ska vara fallande eller stigande sortering. Sök i hjälpen i .Net på sort.
Du ska sortera på en av de dolda kolumnerna där du kan sortera på tal. En text som OK, Bra, Mkt Bra kan endast sorteras på text och inget annat. Om dina dolda värden ej är sorterbara enligt ditt önskemål så kan du hitta på ytterligare en kolumn där du ger raden värde 1 för OK, 2 för Bra och 3 för Mkt Bra.Sv: Ändra Datatype i Datagrid? Eller annat förslag.
'Columns' is not a member of 'System.Windows.Forms.DataGrid'.
Fattar inte varför, Gör så här nu istället:
mittDataSet.Tables("minTabell").Columns("minKolumn").ColumnMapping = MappingType.Hidden
DataGrid1.SetDataBinding(mittDataSet, "minTabell")
Det släcker den oxå...
Dock så funderar jag på hur jag byter plats på mina kolumner så att mina nya kolumner hamnar på mina släckta kolumners plats. Funderar på att byta plats på dem först och sedan släcka de jag inte behöver. Då vet jag deras plats innan o slipper hårdkoda deras plats.
Tack för din hjälp...
/MagnusSv: Ändra Datatype i Datagrid? Eller annat förslag.
http://www.syncfusion.com/FAQ/WinForms/FAQ_c44c.asp#q764qSv: Ändra Datatype i Datagrid? Eller annat förslag.
Me.dapPlayers.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "myDataSetTable", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("datum", "datum"), New System.Data.Common.DataColumnMapping..........
Osv...
Är myDataSetTable det jag skall använda som MappingName?
/Magnus