Results 1 to 11 of 11

Thread: Linkbutton in ASP.NET

  1. #1

    Linkbutton in ASP.NET

    Hallo,
    misschien een stom vraagje, maar is het mogelijk om de text property van een link button kolom in een datagrid aan te passen rij per rij?

    Ik heb nu een details kolom met daarin linkbuttons, maar niet altijd zijn er details beschikbaar voor een rij, dus zou ik de tekst van die kolom in die rij willen aanpassen van "details" naar "geen details".
    Als ik via de gewone weg de tekst van die kolom in die rij probeer te vervangen ( zoals het bij andere kolommen wel gaat ) lukt mij dat niet.

    Ik hoop dat iemand het antwoord weet,

    mvg,


    Roeland

  2. #2
    • Verplaatst van WebDelphi naar .NET.

  3. #3
    Welke linkbutton bedoel je? Heb je die via een template kolom toegevoegd?
    Marcel

  4. #4
    Ik heb die op volgende manier toegevoegd.
    Ik heb de property builder genomen van de datagrid.
    Dan ben ik naar het tweede tabblad links ( Columns ) gegaan.
    Vervolgens heb ik bij Button column de Select Button gekozen.

    Ik hoop dat dit voldoende duidelijk is.

    mvg,


    Roeland

  5. #5
    Volgens mij wil jij gewoon een sjabloon kolom met een label waar je de tekst van verandert in de OnDataBound van het grid.

    gr.
    Peter

  6. #6
    Hallo,

    ik wil de tekst veranderen van mijn LinkButton kolom, niet van een "template" of in het nederlands "sjabloon" kolom. Deze heb ik namelijk niet nodig in mijn applicatie, aangezien ik een kolom nodig heb, waar ik het selected_index_changed event kan oproepen, en dit is mij tot nu toe alleen gelukt met een LinkButton kolom, hyperlinks, of templates of dergelijke werkten niet hier, of ik moet iets verkeerd gedaan hebben dan.


    mvg,

    Roeland

  7. #7
    Je kan de onclick van een hele rij genereren door gebruikt te maken van javascript. Bijvoorbeeld door onderstaand voorbeeld. Door selecteren wel te als kolom op te nemen maar de zichtbaarheid op false kan je met onderstaande code de rij selecteren door aan te klikken. Hierdoor krijg je de selectedIndex event. Op deze manier kan je dus ook een template column aanmaken met alle tekst die je wilt.

    Code:
    procedure Twerkplekken.DBWebGrid2_ItemDataBound(sender: System.Object; e: System.Web.UI.WebControls.DataGridItemEventArgs);
    var
      js_onclick: String;
      drv: DataRowView;
      dbg: DBWebGrid;
    begin
      dbg:= Sender as DBWebGrid;
      drv:= (DataRowView(e.Item.DataItem));
      if (e.Item.ItemType <> ListItemType.Header) then begin
        if (e.Item.DataSetIndex <> -1) and (e.Item.ItemType <> ListItemType.EditItem) then begin
          js_onclick:= 'javascript:__doPostBack(''DBWebGrid{0}$_ctl{1}$_ctl0'','''');';
          js_onclick:= System.&String.Format(js_onclick, [dbg.ID[10], e.Item.ItemIndex+2]);
          e.Item.Attributes.Add('OnClick', js_onclick);
        end;
        if e.Item.ItemType = ListItemType.SelectedItem then begin
          e.Item.Attributes.Add('OnMouseOver', 'this.style.cursor=''pointer'';this.style.backgroundColor='''+Constanten.WebGridSelItemColor+'''');
          e.Item.Attributes.Add('OnMouseOut', 'this.style.backgroundColor='''+Constanten.WebGridSelItemBackColor+'''');
        end
        else if e.Item.ItemType = ListItemType.AlternatingItem then begin
          e.Item.Attributes.Add('OnMouseOver', 'this.style.cursor=''pointer'';this.style.backgroundColor='''+Constanten.WebGridAltItemColor+'''');
          e.Item.Attributes.Add('OnMouseOut', 'this.style.backgroundColor='''+Constanten.WebGridAltItemBackColor+'''');
        end
        else begin   
          e.Item.Attributes.Add('OnMouseOver', 'this.style.cursor=''pointer'';this.style.backgroundColor='''+Constanten.WebGridItemColor+'''');
          e.Item.Attributes.Add('OnMouseOut', 'this.style.backgroundColor='''+Constanten.WebGridItemBackColor+'''');
        end;
      end;
    end;
    Het gaat vooral om het eerste stukje van de code. De rest is voor een onmouseover effect en heb je niet nodig. Deze code is trouwens geschreven voor Grid met de naam DBWebGridx. Heten die van jou ander moet je dat even aanpassen.

  8. #8
    Mmm,

    kan ik hiermee mijn al geschreven selected index procedure oproepen?

    ik heb trouwens met een standaard datagrid gewerkt in asp.

    greetz

  9. #9
    Als het goed is wel. Bij een gewoon datagrid moet je gewoon even het type veranderen en natuurlijk de naam met de verwijzing in het javascriptstukje.

  10. #10
    Thnx,

    ik zal het eens proberen.

    alvast bedankt voo het antwoord

    mvg,

    Roeland

  11. #11
    Heya allemaal,
    ik heb het ondertussen aan het werk gekregen.
    Niet met het javascript van huysmanovic, daar geraakte ik niet echt wijs uit. ( toch bedankt huysmanovic voor de moeite die je erin hebt gestoken ).

    Blijkbaar kan je zo iets benaderen als Control en kan je zo de text van die linkbutton aanpassen, rij per rij. Dit om even de mensen te helpen die ook met dit probleem komen te staan.

    Code is:

    (Datagrid.Items[integer die rij aangeeft].Cells[integer die plaats kolom in rij aangeeft].Controls[0] as LinkButton).Text := 'Tekst die je wilt hebben'

    Greetz

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Connectionstring opbouwen in ASP.NET
    By eriksk in forum .NET
    Replies: 12
    Last Post: 09-Mar-05, 15:01
  2. ASP.NET Roadshow
    By Marcel in forum Koffiehoek
    Replies: 1
    Last Post: 12-Feb-05, 03:05
  3. Replies: 31
    Last Post: 04-Jul-04, 20:13
  4. HTML code in ASP.NET app.
    By Siep in forum .NET
    Replies: 8
    Last Post: 16-Jun-04, 00:56
  5. ASP.NET help... functionaliteit en toepassingen e.d.
    By SpeciesXX in forum Koffiehoek
    Replies: 2
    Last Post: 21-Sep-03, 21:31

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •