Avatar billede maxikoll Nybegynder
23. september 2002 - 10:18 Der er 15 kommentarer og
1 løsning

Style på edit i DataGrid

Når man bruger DataGrid og har fx en edit/cancel/update funktion kan man redigere et af felterne eller flere, men hvordan styrer man styles på de kasser den automatisk opretter?

Eksempler på DataGrid med edit kan ses her:
http://samples.gotdotnet.com/quickstart/aspplus/doc/webdataaccess.aspx#update

Any good ideas? :)
Avatar billede odegaard Nybegynder
23. september 2002 - 10:29 #1
<asp:DataGrid ...>
  [...]
  <EditItemStyle BackColor="Yellow"/>
</asp:DataGrid>
Avatar billede odegaard Nybegynder
23. september 2002 - 10:31 #2
Kig på TableItemStyle members i SDK'en, for at se de andre parametre ud over BackColor.
Avatar billede maxikoll Nybegynder
23. september 2002 - 10:41 #3
Ved ik om jeg har forklaret det ordenligt, men ved kasser tænker jeg på textbokse, asp:textbox fx, den laver den selv. Det der sætter baggrund på hele feltet ik?
Avatar billede maxikoll Nybegynder
23. september 2002 - 10:41 #4
hov, trykkede accept :)

men ved du det?
Avatar billede odegaard Nybegynder
23. september 2002 - 10:47 #5
jo lige det eksempel sætter baggrundsfarven, men som jeg skriver kan du i SDK'en se alle de andre parametre. Hvad ønsker du at ændre på layout'et?
En anden metode er at lave en textbox-style i dit stylesheet som du benytter.
Avatar billede odegaard Nybegynder
23. september 2002 - 10:48 #6
F.eks.
<head>
<style>
INPUT { border-right: #909090 1px solid; border-top: #909090 1px solid; border-left: #909090 1px solid; border-bottom: #909090 1px solid; background-color: #ffffee
}
</style>
</head>
Avatar billede maxikoll Nybegynder
23. september 2002 - 10:50 #7
synes jeg har bladret de mulige igennem uden held...

I det man trykker edit vil den lave en textbox på de felter man har sat den til at komme ved, men den textbox kan jeg ikke lige finde ud af at styre udseendet af.

"En anden metode er at lave en textbox-style i dit stylesheet som du benytter."

Altså have en style der smider det på alle textbox'e?
Avatar billede odegaard Nybegynder
23. september 2002 - 10:54 #8
Jep. Jeg mener også der er en EditItemTemplate. Jeg kender den ikke lige, men kunne det ikke være en mulighed?
Avatar billede maxikoll Nybegynder
23. september 2002 - 11:00 #9
eneste jeg hader ved at smide styles på input er checkbox'e der ser dumme ud :)

Jeg prøver lige EditItemTemplate
Avatar billede odegaard Nybegynder
23. september 2002 - 11:15 #10
Ser de dumme ud??? Det er da helt op til dig hvad du skriver i din style. At mit eksempel får dem til at se dumme ud, betyder jo ikke at du kan få dem til at se skide hamrende godt ud :-)
Avatar billede maxikoll Nybegynder
23. september 2002 - 11:16 #11
ye, men smider man noget border style på input kommer der en border uden om checkbox'en også, eller findes der triks der :)
Avatar billede odegaard Nybegynder
23. september 2002 - 11:26 #12
Med borders kan man gøre dem flade istedet for det forældede 3D windows-look. Jeg synes det er coooool :-)
Lad mig istedet spørge: Hvad er det du vil ændre?
Avatar billede maxikoll Nybegynder
23. september 2002 - 11:42 #13
Jeg vil helst ikke bruge et stylesheet til at gøre det, men du havde fat i noget af det rigtige.

På den her side, fx DataGrid7.aspx:
http://samples.gotdotnet.com/quickstart/aspplus/doc/webdataaccess.aspx#update

Der kommer der ved tryk på edit en række textbox'e, det er dem jeg ikke kan finde ud af at styre udseende mæssigt, de bare kedelige :)
Avatar billede odegaard Nybegynder
23. september 2002 - 11:55 #14
Må jeg spørge lidt provokerende hvorfor du ikke vil bruge styles?
Med de nye standarder ligges der mere op til at bruge styles end noget andet (f.eks. udgår <center> og align=center med HTML4.01 strict, og erstattes med stylesheet). Så man kan jo lige så godt vænne sig til det.
Du har jo den ultimative kontrol over dit udseende!
Avatar billede maxikoll Nybegynder
23. september 2002 - 12:04 #15
Jeg ville også gerne smide en style på bare de textbox'e der, men ved ikke hvordan da koden ser således ud:

<asp:BoundColumn DataField="Beskrivelse" HeaderText="Beskrivelse" ItemStyle-Width="380" ItemStyle-Wrap="False"></asp:BoundColumn>

Den der lister Beskrivelse fra databasen, men man kan så vidt jeg lige kan se styre hvordan den textbox bliver derefter ved at smide nogen styles på der, så regner med det skal gøres i codebehind et sted?
Avatar billede maxikoll Nybegynder
26. september 2002 - 10:50 #16
En måde at styre det på i Code behind:

    Sub MyDataGrid2_ItemDataBound(ByVal Sender As Object, ByVal E As DataGridItemEventArgs)
        If (E.Item.ItemType = ListItemType.EditItem) Then
            Dim i As Integer
            For i = 0 To E.Item.Controls.Count - 1
                Try
                    If (E.Item.Controls(i).Controls(0).GetType().ToString() = "System.Web.UI.WebControls.TextBox") Then
                        Dim tb As TextBox
                        tb = E.Item.Controls(i).Controls(0)
                        tb.Text = Server.HtmlDecode(tb.Text)
                        tb.CssClass = "inputmodul"
                        tb.TextMode = TextBoxMode.MultiLine
                        tb.Rows = 4
                    End If
                Catch

                End Try
            Next
        End If
    End Sub
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester