Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482

    Datagrid - ItemDataBound

    Ho questo problema, utilizzando l'evento ItemDataBound devo leggere in fase di creazione il contenuto delle celle della prima colonna di questo datagrid:

    codice:
    <ASP:TemplateColumn HeaderText="Inserzione" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="55%">
       <ItemTemplate>
          <A Href="Inserzione.aspx?ID=<%#Container.DataItem("ID")%>" Style="Width:100%;" Class="10-Blu-Rosso">
          <%#Container.DataItem("Testo")%>
          </A>
       </ItemTemplate>
    </ASP:TemplateColumn>
    Così com'è non mi legge il contenuto della cella, se invece sostituisco <%#Container.DataItem("XXX")%> con un valore fisso tutto funziona.
    Per chiarezza posto anche la rouite dell'ItemDataBound

    codice:
    Sub MyDtg_ItemDataBound(Obj As Object, E As DataGridItemEventArgs)        
    If E.Item.ItemType.ToString() = "Item" or E.Item.ItemType.ToString() = "AlternatingItem" Then
    	response.Write(E.Item.Cells(0).Text)
    	response.Write("
    ")
    End If
    End Sub

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

  2. #2
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    Dorebbe essere un problema di ordine di eventi(Inteso come successione), penso che puoi risolvere utilizzando l'evento ItemCreated(L'ultimo)leggendo ed eventualmente modificando il contenuto della cella.
    Se imposti un valore fisso funziona perchè sa già che deve fare quello che vuoi prima di creare la griglia.
    Ciao
    Legnetto

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482
    avevo già provato con l'ItemCreated, ma non funziona.

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

  4. #4
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    Non voglio insistere oltre il dovuto(Visto che hai già provato),però
    tempo indietro ho fatto una cosa simile che adesso non trovo più ed era + o - così:
    Nell ItemCreated

    Dim itemType As ListItemType = e.Item.ItemType
    Dim i As Integer
    If itemType = ListItemType.Item Or ListItemType.AlternatingItem Then
    For i = 0 To e.Item.Controls.Count - 1
    Dim pager As TableCell = CType(e.Item.Controls(i), TableCell)
    If i = 0 Then 'prima colonna
    'pager.Controls.Clear()
    pager.Text = pager.Text & "
    Pippo"
    End If
    Next
    End If

    Non l'ho provata, quindi non odiarmi se non funziona.
    Ciao
    Legnetto

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482
    Il fatto è che anche io l'ho già fatto in passato, ma ora non vuole saperne di andere bene.
    Ho dovuto modificare il DataTable

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

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 © 2026 vBulletin Solutions, Inc. All rights reserved.