Når brugeren så vælger et andet link, vil jeg gerne neutralisere den forrige farvning og herefter farve det nye valg. Problemet er, at farvningen af de forrige links 'sidder fast'.
Jeg har prøvet lige inden farvningen af linket at bruge datagrid..BackColor = ColorTranslator.FromHtml("#XXXXXX"), men den farver alt ANDET end de celler, der har været valgt. Jeg har også forsøgt mig med OnItemDataBound på forskellig vis, men det virker som om forrige farvninger ikke står til at fjernes.
Du skrev at du havde noget kode der tog hånd om det med farvningen... Tænkte at du måske ikke havde kommenteret den ud. Det er kun <EditItemStyle BackColor="Aqua" /> du skal have. Ikke noget kode. Mvh
Jeg slog på her: http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.datagrid.edititemstyle.aspx og her ser det ud som om at den kun farver, hvis man redigerer i selve griddet. Jeg fik jo heller ikke skrevet, at når jeg klikker på et link, så redigerer jeg ikke i selve griddet, men aflæser en ID og viser herefter en række oplysninger fra databasen tilhøjre på skærmen, der hører til dette ID. Når man så klikker på et andet link, så viser den andre oplysninger og så var det, at jeg gerne ville have, at man nemt kunne se, hvilke oplysninger, der pt. vises. Kan det ikke være derfor, at det ikke fungerer hos mig?
Nåhh... Jeg troede det var en editeringsting. Du kan bruge selection istedet, og angive din style i SelectedItemStyle (på samme måde some med den anden). Mvh
Undskyld - det skulle jeg jo have skrevet i første hug!! Hvordan 'fanger' jeg, at en bruger klikker, når jeg bruger selection? Ved edit bruger jeg jo OnEditCommand til dette.
Du kan sætte sådan en her ind: <asp:ButtonColumn CommandName="Select" Text="Select"></asp:ButtonColumn>
Og så den med farven: <SelectedItemStyle BackColor="Beige" />
Hvis du gerne vil abbonnere på eventet (det er ikke nødvendigt for at se farveskiftet) kan du på selve grid'et angive: OnSelectedIndexChanged="grid_SelectedIndexChanged"
Og så en handler: protected void grid_SelectedIndexChanged(object sender, EventArgs e) { // ... }
Smukt - nu markeres den fint! Men jeg kan så ikke længere aflæse min ID i griddet med 'e.Item.Cells(1).Text' - har du et bud på, hvordan jeg så kan få fat på den (Har prøvet forskelligt med DataGrid.et eller andet, men har ikke kunnet få den ud)?
Ah - genialt!! Det kan dog sammesættes på mange måder! Du skal endnu en gang have ypperlig tak - både fordi mit problem blev løst og at jeg blev klogere på dette fantastiske værktøj!!
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.