Avatar billede dm37 Nybegynder
27. oktober 2002 - 14:40 Der er 7 kommentarer og
1 løsning

Viewstate? eller hvad?

Hejsa
Vi har en tabel som indeholder en masse tekstfelter/dropdownbokse som indholder en række kriterier vi vil søge i Db Efter. Efter et tryk på en knap vil DB retunere et dataset som vi har bundet til et dataGrid, hvor det der bliver fundet i DB bliver vist.

Alt dette virker også fint.

Problemet er så at dette datagrid bliver vist under vores tabel med alle tekstfelterne/dropdownboksene. Vi vil gerne have disse til at forsvinde således det kun er vores datagrid der står tilbage når vi har udført søgningen, Hvordan gøres dette???

Vi mener vi skal bruge viewstate, men ved ikke hvordan?

Kort sagt vi har en side med en tabel med søgekriterier, når vi søger skal denne tabel blive erstattet med et datagrid indeholdende resultaterne.

Vi bruger C#
Avatar billede simon.ulsnes Nybegynder
27. oktober 2002 - 15:01 #1
Læg tabellen i et Panel (asp:Panel eller System.Web.UI.WebControls.Panel).
Tilføj så dette til OnClick-event'en på knappen:

JeresPanel.Visible = false;

Hvis jeres tabel er en WebControl kan I også erstatte JeresPanel med navnet på tabellen.

// Simon
// This sentence no verb.
Avatar billede simon.ulsnes Nybegynder
27. oktober 2002 - 15:01 #2
Det skulle være et svar...
Avatar billede odegaard Nybegynder
27. oktober 2002 - 15:01 #3
sæt en <asp:PlaceHolder id="myPlaceholder" runat="server"> rundt om dine tekstfelter.
Når du binder data til datagriddet, sætter du myPlaceholder.Visible=false

ViewState gemmer blot værdierne i tekstfelterne. Dvs. hvis du senere igen poster tilbage til siden (f.eks. ved "ny søgning"-knappen"), og du tænder for myPladeholder igen, vil værdierne der før blev indtastet stadig stå i tekstfelterne (dette kan selvfølgelig slås fra hvis man ønsker det).
Avatar billede odegaard Nybegynder
27. oktober 2002 - 15:02 #4
øv, dér var du sgu' lidt hurtigere simon :-)
Min skulle også have været et svar, men det er vist ligemeget nu :-p
Avatar billede simon.ulsnes Nybegynder
27. oktober 2002 - 15:04 #5
:-)
odegaard, kan du egentlig ikke lige kort forklare den praktiske forskel på PlaceHolder og Panel? Jeg ved Panel laver et <div> tag i den returnerede HTML-kode.

// Simon
Avatar billede dm37 Nybegynder
27. oktober 2002 - 15:15 #6
hmm... meget smart det virker næsten

Hvordan får vi så vores resultater til at stå i toppen af siden? vores tabel bliver godt nok usynlig men fores datagrid ligger stadig neden under det?
Avatar billede dm37 Nybegynder
27. oktober 2002 - 15:16 #7
har løst problemet takker for hjælpen
Avatar billede odegaard Nybegynder
27. oktober 2002 - 15:29 #8
jeps... PlaceHolder smider IKKE et div-tag, hvilket jeg synes er rart. Jeg vil gerne have styr over det meste af koden selv.
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