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

    Datagrid e OnItemCreated

    Per ogni riga di un datagrid volevo fare un confronto e, se la condizione è soddisfatta, inserire un testo. Avevo pensato di utilizzare OnItemCreated associandovi una sub di questo tipo:
    codice:
    Sub Item_Created(sender As Object, e As DataGridItemEventArgs)
              Dim TopicId As Integer
    
              If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
                TopicId = CType(e.Item.DataItem, DataRowView).Row.ItemArray(10).ToString()
                  If TopicId = request.params("id") then
                    FirstMsg ="<font color = red>Primo Messaggio</font></br>"
                  end if
              End If
    
            End Sub
    e nell'ItemTemplate del datagrid inserire un <%=FirstMsg%> per far stampare la variabile.

    Solo che la sub così impostata non si comporta come mi aspettavo. Io credevo che la sub avrebbe riempito o meno la variabile e poi scritto la riga del datagrid (con tanto di variabile vuota o piena a seconda del caso). Invece fa prima tutti i confronti e poi inizia a scrivere le righe.

    Quindi se la condizione è soddisfatta mi ritrovo la scritta su tutte le righe del datagrid, anzichè sull'unica che verifica la condizione.

    Come posso fare?

    Ciao e grazie
    www.radiana.it - Spartiti musicali e Mp3

  2. #2
    Provo a riformulare la cosa. Voi come fate a fare dei confronti tra gli elementi di un datagrid per dirgli: se la condizione è soddisfatta stampa questo altrimenti stampa quest'altro?
    www.radiana.it - Spartiti musicali e Mp3

  3. #3
    Io di solito uso l'evento OnItemDataBound, e modifico direttamente il valore della cella tramite casting, passando dall'array controls di ogni cella:
    codice:
    protected void DataGridAuth_ItemDataBound(object sender,  DataGridItemEventArgs e)
    {
       if (((System.Web.UI.WebControls.TableCell)e.Item.Controls[3]).Text=="DEFAULT")
          ((System.Web.UI.WebControls.LinkButton)e.Item.Controls[5].Controls[0]).Visible=false;
    }
    questo codice ad esempio mi controlla che la 3 cella contenga il testo DEFAULT, e in caso nascondo il linkbutton nella cella 5 (controllo 0)

  4. #4
    Utente di HTML.it L'avatar di Ottavio
    Registrato dal
    Jul 2000
    Messaggi
    286

    hai provato

    con un iif nell'ItemTemplate ??!?!
    qualcosa tipo:

    codice:
    Text='<% #iif(DataBinder.Eval(Container.DataItem, "Riempitivo"),"Si","No")  %>'>
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    Era un mondo adulto, si sbagliava da professionisti....
    <P.Conte>
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

  5. #5

    Re: hai provato

    Originariamente inviato da Ottavio
    con un iif nell'ItemTemplate ??!?!
    Voglio lavorare solo sul code-behind. Ora provo la soluzione di DeBe99.

    www.radiana.it - Spartiti musicali e Mp3

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.