Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

dinamicko kreiranje i skrivanje

[es] :: .NET :: ASP.NET :: dinamicko kreiranje i skrivanje

[ Pregleda: 2139 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

alokin_n
Student

Član broj: 236355
Poruke: 42
*.dynamic.isp.telekom.rs.



+12 Profil

icon dinamicko kreiranje i skrivanje21.04.2011. u 16:44 - pre 158 meseci
Pozdrav

Pocetnik sam u asp.net - u ali ne i u programiranju. Imam problem da uradim sledecu stvar.
Potrebno mi je:
Kada korisnik udje na stranicu, u zavisnosti od podataka u bazi njemu ce se ispisati nesto ovog tipa
-ime 1
-ime 2
-ime 3

E sad, potrebno mi je da pored svakog tog "ime x" bude neko dugme ili jos bolje slicica na kojoj bi bio neki plusic i klikom na to treba da mi izadju detalji za to ime:
Znaci klikom na ime 2 treba da bude:
-ime 1
-ime 2
detalji o ime 2
-ime 3

Onda, klikom na - dugme ili slicicu da nestanu ti detalji. Razumete sta hocu da kazem?

Planirao sam da koristim ajax. Za potrebe testa to sam uradio i to nije nikakav problem, ali problem mi je sto je to staticko, a ovo dinamicko. I ja ne znam kako da dinamicki napravi te button-e ili slicice sa plus i minus i kako da im dinamicki dodelim akcije.
Ono sto sam staticki uradio je nesto tipa:
Code:

 <asp:UpdateProgress ID="UpdateProgress1" runat="server">
        <ProgressTemplate>
        Ucitavanje ....
        </ProgressTemplate>
        </asp:UpdateProgress>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:Panel ID="Panel1" runat="server"> 
            Neki skriveni i pojavljujuci tekst <br />
            </asp:Panel>
       
         <asp:Button ID="Button1" runat="server" Text="Promeni" 
            onclick="Button1_Click" />
        </ContentTemplate>
        
        </asp:UpdatePanel>

Code:

protected void Button1_Click(object sender, EventArgs e)
    {
        if (Panel1.Visible == true)
            Panel1.Visible = false;
        else
            Panel1.Visible = true;
    }


Kako to da izvedem dinamicki?
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12850



+4784 Profil

icon Re: dinamicko kreiranje i skrivanje21.04.2011. u 19:00 - pre 158 meseci
Jedan od nacina: potrazi po netu kako se koristi repeater. Onda za item template koristi taj "expander" koji si napravio, stavi mu datasource na listu objekata koji se prikazuju i u itemdatabound eventu povezes podatke sa item template-om. Ili uz pomoc <% %> kako ti vec vise odgovara.
 
Odgovor na temu

alokin_n
Student

Član broj: 236355
Poruke: 42
*.dynamic.isp.telekom.rs.



+12 Profil

icon Re: dinamicko kreiranje i skrivanje21.04.2011. u 20:20 - pre 158 meseci
Pre svega, hvala na odgovoru.
Uspeo sam da napravim za test neki repeater i da ga povezem.
Medjutim, to sto mene muci je kako da ubacim ovu mogucnost sa prikazivanjem i skrivanjem podataka.
Dakle, uradio sam nesto ovako:

Code:

<asp:Panel ID="Panel2" runat="server">
        <asp:Repeater ID="Repeater1" runat="server">
        <HeaderTemplate>
        <table border="1">
        <tr><td>Prvo</td><td>Drugo</td></tr>
        </HeaderTemplate>
        <ItemTemplate>
        <tr><td><%# DataBinder.Eval(Container.DataItem,"ime") %> </td>      
        <td><%# DataBinder.Eval(Container.DataItem,"prezime") %> </td>
        </tr> 
         </ItemTemplate>
        <FooterTemplate></table></FooterTemplate>
        </asp:Repeater>

    </asp:Panel>


I prosledio neke vrednosti i radi super.
Ali ne shvatam kako da za svaki od tih dodam po jos jedan panel u koje bih ispisivao podatke koji mogu da se prikazu / sakriju. Koriscenjem ajax-a.
Tacnije, ako u itemtemplate dodam da bude ovako:

Code:


 <asp:Repeater ID="Repeater1" runat="server">
        <HeaderTemplate>
        <table border="1">
        <tr><td>Prvo</td><td>Drugo</td></tr>
        </HeaderTemplate>
        <ItemTemplate>
        <tr><td><%# DataBinder.Eval(Container.DataItem,"ime") %> </td>      
        <td><%# DataBinder.Eval(Container.DataItem,"prezime") %> </td>
              
          <asp:UpdateProgress ID="UpdateProgress1" runat="server">
        <ProgressTemplate>
        Ucitavanje ....
        </ProgressTemplate>
        </asp:UpdateProgress>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:Panel ID="Panel1" runat="server"> 
            Neki skriveni i pojavljujuci tekst <br />
            </asp:Panel>       
         <asp:Button ID="Button1" runat="server" Text="Promeni" 
            onclick="Button1_Click" />
        </ContentTemplate>
        
        </asp:UpdatePanel>

        </td>
        </tr> 
        
        </ItemTemplate>
         <FooterTemplate></table></FooterTemplate>
        </asp:Repeater>

Nece moci jer ne moze kreirati dva panela sa tim imenom ili dva button-a sa tim imenom istim.

Znaci tako nesto da povezem da radi ucitavanje na istoj strani. Ako bih na drugoj strani npr. prikazi_detalje.aspx to slao onda bih stavio adresu tpa prikazi_detalje.aspx?id=neki_id i onda bih tamo na onoj strani hvatao id i prikazivao sta treba.
Ali ja bih to da ubacim da vec bude ucitano, samo da se po potrebi prikazuje/sakriva...

Hvala jos jednom
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12850



+4784 Profil

icon Re: dinamicko kreiranje i skrivanje21.04.2011. u 21:22 - pre 158 meseci
Huh, nisam odavno koristio repeater, mislim da ne moras da stavljas ID-ove, samo stavis event handler.
 
Odgovor na temu

alokin_n
Student

Član broj: 236355
Poruke: 42
*.dynamic.isp.telekom.rs.



+12 Profil

icon Re: dinamicko kreiranje i skrivanje21.04.2011. u 21:39 - pre 158 meseci
To mi je problem.
Kad ne stavim id i kad kliknem na dugme onda se primeni na sve redove.
Ne znam kako da razlucim da se primenjuje samo na taj red na koji je kliknuto...
Nesto kao tipa, lupicu sad, kad bi moglo uz button da se posalje neki id pa da tako znam sta da ukljucim/iskljucim....
 
Odgovor na temu

dejanet
Beograd

Član broj: 19240
Poruke: 1181



+837 Profil

icon Re: dinamicko kreiranje i skrivanje21.04.2011. u 22:02 - pre 158 meseci
..button treba postaviti:

<asp:Button ID=... runat=server Text=.... CommandArgument=... CommandName=... />

pa ga onda obradjujes na neku akciju(command name) u zavisnosti od commandargumenta koji ti je dinamicki...
 
Odgovor na temu

alokin_n
Student

Član broj: 236355
Poruke: 42
*.dynamic.isp.telekom.rs.



+12 Profil

icon Re: dinamicko kreiranje i skrivanje21.04.2011. u 22:33 - pre 158 meseci
Hvala puno na informacijama, ideja mi je jasna.
Probacu da razradim sutra, sad sam pokusao na brzaka ali nije proslo.

Javlja mi se problem kako da u commandArgument dodam nesto dinamicki, kojim tagom, kako?
A drugo, nesto razmisljam, meni ovde treba da nestane panel jedan ili da se pojavi.
Kako i njih da ubacim dinamicki id da imaju? Prakticno bi mi s eonda svelo kad prosledim commandArgument preko buttona, to bi bilo u stvari id panela koji treba ukljuciti/iskljuciti i time bih zavrsio posao...
 
Odgovor na temu

pl4stik
Senior .NET programmer/Consultant
oDesk
NI na nebu NI na zemlji

Član broj: 173596
Poruke: 715
*.dynamic.isp.telekom.rs.

Sajt: xx-auth.com.azhar.arvixe...


+31 Profil

icon Re: dinamicko kreiranje i skrivanje22.04.2011. u 07:22 - pre 158 meseci
Ma pusti repeater i nabaci grid i neki datasource i vezi sve to deklarativno (da bi dobio formatiran grid) i jednu od kolona najcesce id tj. ona koja sadrzi pk za detail koji hoces da prikazes ispod napravi na templatedfield. Edituj itemtemplate i u njemu imash label1, a ti dodaj jos jedan npr. grid i neki datasource sa parametrom label1 za prikaz detail-a.

Tako dobijesh master/detail, a da bi taj detail ispadao ubaci ga u panel kome dodash CollapsiblePanel extender.


Happy coding


To sto nekoliko miliona ljudi tvrdi da nisi u pravu ne znaci da stvarno nisi - Frank Zappa

https://youtu.be/DLe358DPGXU
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1343
*.dynamic.sbb.rs.



+311 Profil

icon Re: dinamicko kreiranje i skrivanje22.04.2011. u 08:55 - pre 158 meseci
Prvo, kada ubaciš kontole u repeater, dobićeš unique client ID-jeve kontrola kada se budu renderovale i ne treba da brineš u vezi toga (Mislim da ce biti tipa IDRepeatera + ID + IndexItema).
Drugo, kao što binduješ tekstove i šta ti ja znam, isto tako možeš da binduješ i CommandArgument button-a.
Treće, preko Repeater.Items.Controls možeš da gađaš svoje panele za detalje i da radiš Show/Hide zavisno od sender client ID-a ili CommandArgument-a.

Pozdrav!
 
Odgovor na temu

alokin_n
Student

Član broj: 236355
Poruke: 42
*.dynamic.isp.telekom.rs.



+12 Profil

icon Re: dinamicko kreiranje i skrivanje22.04.2011. u 14:29 - pre 158 meseci
Hvala na odgovorima, ali cu morati malo detaljnije izgleda da ucim neke stvari.
Na osnovu primera sa neta i slico ne mogu da pohvatam da sve to povezem kako treba :S
Najvise oko tih kontrola i ID-jeva jer trazi da bude prost zapis, znaci bukvalno ID="nesto" , nesto-prost string :S

Cackacu jos malo oko toga, ako ne uspem, ici cu grubom silom - nova stranica na kojoj su detalji :)
 
Odgovor na temu

alokin_n
Student

Član broj: 236355
Poruke: 42
*.dynamic.isp.telekom.rs.



+12 Profil

icon Re: dinamicko kreiranje i skrivanje22.04.2011. u 15:08 - pre 158 meseci
EDIT:
Uspeo sam.
Jednostavno sam stavio u repeater-u kao sto ste rekli, da ne brine o kontrolama:
Code:


<ItemTemplate>
        <tr><td><%# DataBinder.Eval(Container.DataItem,"ime") %> </td>
        <td><%# DataBinder.Eval(Container.DataItem,"prezime") %> </td></tr>
        <tr><td colspan="2">  
            <asp:CollapsiblePanelExtender ID="CollapsiblePanelExtender1" runat="server" CollapseControlID="Button1" TargetControlID="Panell1" ExpandControlID="Button2" Collapsed="true">
            </asp:CollapsiblePanelExtender>
            
            <asp:Panel ID="Panell1" runat="server">
            <%# DataBinder.Eval(Container.DataItem,"godiste") %> 
            </asp:Panel>

            <asp:Button ID="Button1" runat="server" Text="Button" /> 
            <asp:Button ID="Button2" runat="server" Text="Button2" />
              </td></tr>
        </ItemTemplate>


I radi bas kako treba. Iako mi nije jasno zasto ne brka sa ovim buttonima kad mu je dat id, tj. kako sad dozvoljava da ih ima vise, al ajd.
Idem sad da probam sve to da integrisem u pravu aplikaciju :)

Hvala puno
 
Odgovor na temu

[es] :: .NET :: ASP.NET :: dinamicko kreiranje i skrivanje

[ Pregleda: 2139 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.