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

    Recuperare il valore della BoundColumn

    volevo sapere esiste un metodo per carpire il valore che sta per essere stampato in una BoundColumn oppure in una label contenuta nella TEmplateColumn ?

    devo passare tale valore ad una templatecolumn creata dinamicamente !!

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482
    Gli eventi che vengono generate quando si crea un datagrid sono ItemDataBound e ItemCreated

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

  3. #3
    e come posso implementare una cosa simile nella mia situazione cioè quando creo le mie templatecolumn in maniera dinamica?

  4. #4
    ti posto una valanga di codice e cerco di commentartelo meglio possibile

    questo è il mio datagrid

    <aspataGrid ID="dataGrid1" GridLines="Both" ItemStyle-HorizontalAlign="center" ItemStyle-Height="30" runat="server" BorderColor="black" Width="98%" AutoGenerateColumns="false"
    ItemStyle-CssClass="nerotesto" HeaderStyle-Width="35%" HeaderStyle-HorizontalAlign="center" HeaderStyle-Font-Bold="true" HeaderStyle-Height="50" ShowHeader="true" ItemStyle-Wrap="false">
    <columns>
    <asp:templatecolumn ItemStyle-Width="12%" ItemStyle-HorizontalAlign="left" >
    <itemtemplate>
    <asp:Label id="numero" runat="server" Text='<%# Container.DataItem("numero") &"
    "& Container.DataItem("tipologia")%>' />
    </itemtemplate>
    </asp:templatecolumn>
    </columns>
    </aspataGrid>


    le template column che non sono mai statiche ma variano a seconda di alcuni parametri dati vengono generate dinamicamente all'interno della Sub Page_Load() .


    questa porzione di codice è interna a un ciclo FOR
    Dim tc2 As New TemplateColumn()
    tc2.HeaderTemplate = New DataGridTemplate(ListItemType.Header , "", valoreGiornoTesto &"

    "& giornoTemp &"
    "& meseTemp &"
    "& RIGHT(annoTemp,2), "")
    tc2.ItemTemplate = New DataGridTemplate(ListItemType.Item, giornoTemp, dataTemporanea, "Singola")
    DataGrid1.Columns.Add(tc2)


    questa è la classe DataGridTemplate che viene richiamata per creare una nuova TemplateColumn

    Private Class DataGridTemplate
    Implements ITemplate
    Dim templateType As ListItemType
    Dim columnName As String
    Dim TestoHeadervar As string
    Dim tipologiaStanzaVar As string
    Sub New(ByVal type As ListItemType, ByVal ColName As String, ByVal TestoHeader As String, ByVal tipologiaStanza as String)
    templateType = type
    columnName = ColName
    TestoHeaderVar = TestoHeader
    tipologiaStanzaVar = tipologiaStanza
    End Sub

    Sub InstantiateIn(ByVal container As Control) Implements ITemplate.InstantiateIn
    Dim lc As New Literal()
    Dim lblLabel as New Label
    Dim lblLabelHeader as New Label
    Select Case templateType
    Case ListItemType.Header
    lblLabelHeader.Text = TestoHeaderVar
    container.Controls.Add(lblLabelHeader)
    Case ListItemType.Item
    lblLabel.Text = StampaValore(TestoHeaderVar, tipologiaStanzaVar)
    container.Controls.Add(lblLabel)
    End Select
    End Sub

    Function StampaValore(data as object, tipologiaStanza as string) As String

    ' Questa funzione fa dei controlli (e qui avrei bisogno del parametro della TEmplateColumn "Statica" ) e sputa a video un numero o una gif

    End Function
    End Class

    davvero non ho la più pallida idea di come poter fare

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.