Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Skapa dynamiska formulär

Postades av 2006-03-02 09:30:24 - David Karlsson, i forum asp.net generellt, Tråden har 13 Kommentarer och lästs av 607 personer

Hur gör jag för att på ett enkelt sätt skapa ett dynamiskt formulär mha ett enkelt knapp tryck...

Formuläret ska ha text rutor och två st gridview's


Hoppas nån förstår va jag menar

/David


Svara

Sv: Skapa dynamiska formulär

Postades av 2006-03-02 09:51:19 - Ola Lindfeldt

Enklast är väl att slänga in kontroller i en Panel (renderar som div)
och sätta Visible=False, vid knapptryck sätter du Visible=True


Svara

Sv:Skapa dynamiska formulär

Postades av 2006-03-02 14:40:27 - David Karlsson

hmm.. men jag vill sen att det formuläret som "skapas" ska ha en knapp som tar fram ett nytt formulär

det fungerar så här: man har ett formulär som används för att lägga till en ny produkt, produkten i sin tur ska kunna innehålla produkter, o den produkten ska kunna innehålla produkter...

tex.. man väljer att skapa en bil, man vill sen lägga till motor o sen i motorn en cylinder..

problemet är ju att man aldrig vet hur många formulär som behövs utan det kan ju vara allt från 1 till 1000

förstår ni?

/David


Svara

Sv: Skapa dynamiska formulär

Postades av 2006-03-02 21:01:38 - Oskar Johansson

Något i stil med följande (på ett ungefär)

Panel p;
p = new Panel();
TextBox tb;
tb = new TextBox();
p.Controls.Add(tb);
GridView gv;
gv = new GridView();
p.Controls.Add(gv);

this.Controls.Add(p);


Svara

Sv:Skapa dynamiska formulär

Postades av 2006-03-08 08:19:47 - Mikael Klingbjer

En följdfråga:

Hur kan jag använda värdet från en controll skapad på detta sätt?

Säg att jag skapar en textbox med ID=textbox och en knapp, hur skall jag referera till textbox.text när jag klickar på knappen.

Tex:
string strMydata;
strMydata = textbox.text;

Detta funkar inte eftersom det inte finns någon controll som heter textbox, förrän .net skapat den.

/Micke


Svara

Sv: Skapa dynamiska formulär

Postades av 2006-03-08 13:30:10 - Oskar Johansson

I init är ett bra ställe att skapa alla kontroller. Se till att alla dina dynamiska saker skapas där. Sedan kan du använda dem som vanligt.


Svara

Sv:Skapa dynamiska formulär

Postades av 2006-03-08 14:57:04 - Mikael Klingbjer

Om jag har nedanstående, hur skall jag då plocka fram värdet från dom olika textrutorna?


protected void Page_Load(object sender, EventArgs e)
{
Panel p = new Panel();

int rowCount;
rowCount = ds2.Tables[0].Rows.Count;

for (int i = 0; i < rowCount; i++)
{
// Skapar en textruta som skall innehålla svaret
TextBox textBox = new TextBox();
textBox.Text = "";
textBox.ID = i;
p.Controls.Add(lbl);
}
}

protected void Button1_Click(object sender, EventArgs e)
{
TODO: Spara värdet från textrutan till en variabel
}


Svara

Sv: Skapa dynamiska formulär

Postades av 2006-03-08 14:59:37 - Oskar Johansson

Du måste ju spara referenser till textrutorna någonstans, t.ex. i en lista. Skapa en lista som du lägger dem i också. Sedan kan du komma åt dem ifrån knappen.

En annan sak: Jag tror att det är för sent att skapa rutorna i Load, tror du måste göra det redan i Init


Svara

Sv:Skapa dynamiska formulär

Postades av 2006-03-08 23:22:06 - Mikael Klingbjer

Efter som jag är helt ny vad det gäller asp.net och C# (gammal asp'are som vill förnya sig) så skulle jag bli mycket glad över ett kort kodexempel.

Tack på förhand,
Micke


Svara

Sv: Skapa dynamiska formulär

Postades av 2006-03-09 09:58:33 - Ola Lindfeldt

Här finns ett bra exempel
http://www.codeproject.com/aspnet/dynamiccontrols.asp

Det är ganska klurigt att få det att funka bra, speciellt för en nybörjare ;)

Jag skulle nog råda dig att skapa dynamiskt med hjälp av Repeater om det går, resp visa/dölja med Panel.Visible, det lär bli mycket enklare för dig..


Svara

Sv:Skapa dynamiska formulär

Postades av 2006-03-09 11:15:37 - Mikael Klingbjer

Jag skall skapa ett frågeformulär (baserat på kategorier) som hämtar frågorna från SQL, och mitt problem är att det är aldrig samma antal frågor per kategori. Alltså kan jag inte skapa ett antal gömda kontroller som jag kan välja att visa.

Detta är inga problem att lösa i traditionell asp, men jag får inte till det i asp.net. Det enda jag vill ha fram är svaret (värdet) från en viss kontroll ibland ett antal kontroller på en panel.

Jag har inga problem med att skanna igenom alla kontroller efter tex kontrollID, men det är värdet jag söker.

protected void Button1_Click(object sender, EventArgs e)
{
// TODO: Ta reda på värdet
int controlCount;
controlCount = PlaceHolder1.Controls[0].Controls.Count;

for (int i = 0; i < controlCount; i++)
{
int controlID;
controlID = int.Parse(PlaceHolder1.Controls[0].Controls[i].ID.ToString());
}
}


Svara

Sv: Skapa dynamiska formulär

Postades av 2006-03-09 12:53:35 - Ola Lindfeldt

För att det ska funka måste du manuellt i kod hålla reda på dina dynamiska kontrollers tillstånd, återskapa dem och sina resp tillstånd vid Postback, t.ex genom att lagra det i Viewstate.. som sagt exempel på detta finns här.
http://www.codeproject.com/aspnet/dynamiccontrols.asp

Om du stångar pannan blodig med detta så kanske du ska glömma Server Controls ett tag,
och helt enkelt skriva ut rå HTML som du hade gjort i gammel-ASP..
Response.Write
Request.Form.Item("txtSvar")
fungerar fortfarande :)

Om du väljer Response.Write-metoden, så kolla på HtmlTextWriter först.


Svara

Sv: Skapa dynamiska formulär

Postades av 2006-03-09 21:21:31 - Oskar Johansson

Typ något i stil med:

private List<TextBox> dynamicTbs = new List<TextBox>();

_någon_init_metod_som_körs_varje_gång_sidan_laddas()
{
Panel p;
p = new Panel();

this.Controls.Add(p);

foreach(något in någonting) //loopa igenom din databas
{
TextBox tb;
tb.ID = "dynamisk_tb_" + databas.Id; //skapa ett id som hänger ihop med databasen
p.Controls.Add(tb);
this.dynamicTbs.Add(tb); //Spara referens
}
}

_någon_click_metod_()
{
foreach(TextBox tb in this.dynamicTbs)
{
string s;
s = tb.Text;
_databas_.Spara(s); //Någon kul databaskod som sparar
}
}


Svara

Sv:Skapa dynamiska formulär

Postades av 2006-03-09 21:55:36 - Mikael Klingbjer

STORT TACK!

/Micke


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 603
27 953
271 705
6 164
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies