Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    funzione in bound column

    ciao
    nelle mie pagine ricorro spesso a funzioni che mi modifichino l'output per il mio datagrid ad esempio

    <asp:TemplateColumn HeaderText="xxxxxxxxxx">
    <ItemTemplate>
    <%#chk(container.dataitem("dat7_c"))%>
    </ItemTemplate>
    </asp:TemplateColumn>

    la mia funzione chk farà poi qualche cosa sul dato dat7_c ...

    come posso fare lo stesso ma in una Bound column ?
    Frate Priore: "È Lucifero in persona!"
    Trinità: "Lo conosci?"
    Bambino: "Mai sentito nominare, deve essere un professionista dell'est"

  2. #2
    (con questo post sono diventato "senior" ... il 501° )
    Frate Priore: "È Lucifero in persona!"
    Trinità: "Lo conosci?"
    Bambino: "Mai sentito nominare, deve essere un professionista dell'est"

  3. #3
    ma ci hai provato?


    perchè secondo me se voi personalizzare una colonna devi per forza utilizzare l'itemtemplate.

  4. #4

  5. #5
    si forse avete ragione... pensavo che ci fosse qualche piccolo stratagemma per non riscrivere sempre i template column che mi allungano il codice (specie se hai 15 colonne..)

    del resto non dovevo poi fare chissà che formattazione, solo passargli una funzioncina....

    grazie comunque
    Frate Priore: "È Lucifero in persona!"
    Trinità: "Lo conosci?"
    Bambino: "Mai sentito nominare, deve essere un professionista dell'est"

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482
    Potresti anche lavorare con l'evento ItemDataBound modificando direttamente il datatable che utilizzi come datasource. Una cosa di questo tipo:

    codice:
    Sub DTG_ItemDataBound(Obj as Object, E as DataGridItemEventargs)
    'Poniamo che il datatable usato come datasource sia MyDtl
    If MyDtl.Rows(e.Item.ItemIndex)(X) = "Michelle Hunziker" Then
       MyDtl.Rows(e.Item.ItemIndex)(X) = "Gran topona"
    Else
       MyDtl.Rows(e.Item.ItemIndex)(X) = "Blheaaaaaaa!"
    End If
    'devi sostituire X con il numero o il nome della colonna!
    End Sub

    Hey hey, my my Rock and roll can never die!

  7. #7
    mmm buona idea Zampa ! devo provare
    (grandioso l'esempio... sembra uno dei miei.. )

    Purtroppo però non utilizzo un datatable per popolare ma un datareader.

    credo che l'unica soluzione in questo caso allora sia intervenire sul datagrid item created


    Private Sub DataGrid1_ItemCreated(ByVal sender As Object, _
    ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) _
    Handles DataGrid1.ItemCreated

    Dim itemType As ListItemType = e.Item.ItemType
    Dim drv = e.Item.DataItem

    If itemType = ListItemType.Item Or itemType = ListItemType.AlternatingItem Then
    If
    ....
    End If

    End If
    End Sub


    ma ok credo quindi che passare la funzione alla colonna databound non si possa fare.. bisogna ricorrere alla template column
    Frate Priore: "È Lucifero in persona!"
    Trinità: "Lo conosci?"
    Bambino: "Mai sentito nominare, deve essere un professionista dell'est"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.