Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541

    non mostrare riga di datagrid in un caso

    Ciao a tutti io ho un data grid e vorrei non mostrare una riga del datagrid se un <%#Container.DataItem("nomecampo")%> ha un certo valore si può fare?
    Come??? Sto impazzendo

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    Re: non mostrare riga di datagrid in un caso

    Originariamente inviato da mexican
    Sto impazzendo
    il solito esagerato

    Allora, per allenamento l'ho fatto con un GridView, ma per un DataGrid credo che sia simile

    codice:
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            libreria.DataBind(Me.GridView1, StringaConnessioneTest, "select * from regioni", New String() {"codice_istat_regione"})
        End Sub
    
        Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
            Dim dbr As System.Data.Common.DbDataRecord = DirectCast(e.Row.DataItem, System.Data.Common.DbDataRecord)
            If e.Row.RowType = DataControlRowType.DataRow Then
                Dim codice_istat_regione As String = dbr("codice_istat_regione").ToString()
                If codice_istat_regione = "06" Then
                    'e.Row.Visible = False
                    e.Row.Style.Add("background-color", "red")
                End If
            End If
        End Sub
    in questo esempio ho commentato 'e.Row.Visible = False perchè banale, mentre ho cambiato lo stile per la riga interessata
    Pietro

  3. #3
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541

    Re: Re: non mostrare riga di datagrid in un caso

    Originariamente inviato da pietro09
    il solito esagerato

    Allora, per allenamento l'ho fatto con un GridView, ma per un DataGrid credo che sia simile

    codice:
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            libreria.DataBind(Me.GridView1, StringaConnessioneTest, "select * from regioni", New String() {"codice_istat_regione"})
        End Sub
    
        Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
            Dim dbr As System.Data.Common.DbDataRecord = DirectCast(e.Row.DataItem, System.Data.Common.DbDataRecord)
            If e.Row.RowType = DataControlRowType.DataRow Then
                Dim codice_istat_regione As String = dbr("codice_istat_regione").ToString()
                If codice_istat_regione = "06" Then
                    'e.Row.Visible = False
                    e.Row.Style.Add("background-color", "red")
                End If
            End If
        End Sub
    in questo esempio ho commentato 'e.Row.Visible = False perchè banale, mentre ho cambiato lo stile per la riga interessata

    mmm purtroppo non è la stessa cosa mi da un paio di errori sul rowDataBound

  4. #4
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541

    ti passo il codice del datagrid

    <aspataGrid id="prezzi_telefoni" runat="server" Width="300px" HeaderStyle-CssClass="titoletti" ItemStyle-CssClass="testo"
    DataKeyField="id_prezzo" AutoGenerateColumns="False" DataSourceID="AccessDataSource1">
    <Columns>
    <asp:TemplateColumn>
    <HeaderTemplate>
    Telefono
    </HeaderTemplate>
    <ItemTemplate>
    <%#Container.DataItem("telefono")%>
    </ItemTemplate>
    <HeaderStyle Width="120px" />
    </asp:TemplateColumn>
    <asp:TemplateColumn>
    <HeaderTemplate>
    Fornitore
    </HeaderTemplate>
    <ItemTemplate>
    <%#Container.DataItem("ragione_sociale")%>
    </ItemTemplate>
    <HeaderStyle Width="120px" />
    </asp:TemplateColumn>
    <asp:TemplateColumn>
    <HeaderTemplate>
    Prezzo
    </HeaderTemplate>
    <ItemTemplate>
    <%#Container.DataItem("prezzo")%>
    </ItemTemplate>
    <HeaderStyle Width="120px" />
    </asp:TemplateColumn>
    <asp:TemplateColumn Visible="false">
    <HeaderTemplate>
    Telefono
    </HeaderTemplate>
    <ItemTemplate>
    <asp:TextBox ID="Nometelefono" Runat="server" Text='<%#Container.DataItem("id_telefono")%>' Visible="false" />
    </ItemTemplate>
    <ItemStyle HorizontalAlign="Center" />
    <HeaderStyle HorizontalAlign="Center" Width="100px" />
    </asp:TemplateColumn>
    <asp:TemplateColumn Visible="false">
    <HeaderTemplate>
    Fornitore
    </HeaderTemplate>
    <ItemTemplate>
    <asp:TextBox ID="Nomefornitore" Runat="server" Text='<%#Container.DataItem("id_fornitore")%>' Visible="false" />
    </ItemTemplate>
    <ItemStyle HorizontalAlign="Center" />
    <HeaderStyle HorizontalAlign="Center" Width="100px" />
    </asp:TemplateColumn>
    <asp:TemplateColumn>
    <HeaderTemplate>
    Quantità
    </HeaderTemplate>
    <ItemTemplate>
    <asp:TextBox ID="Quantita" Runat="server" Width="100px" />
    </ItemTemplate>
    <ItemStyle HorizontalAlign="Center" />
    <HeaderStyle HorizontalAlign="Center" Width="100px" />
    </asp:TemplateColumn>
    </Columns>
    <ItemStyle CssClass="testo" />
    <HeaderStyle CssClass="titoletti" />
    </aspataGrid><asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/mdb-database/mdb_max.mdb"
    SelectCommand="SELECT Prezzi.id_prezzo AS Expr1, Prezzi.prezzo AS Expr2, Prezzi.id_telefono AS Expr3, Prezzi.id_fornitore AS Expr4, Prezzi.id_prezzo, Prezzi.prezzo, Prezzi.id_telefono, Prezzi.id_fornitore, Fornitori.ragione_sociale, telefoni.telefono FROM ((Prezzi INNER JOIN telefoni ON Prezzi.id_telefono = telefoni.id_telefono) INNER JOIN Fornitori ON Prezzi.id_fornitore = Fornitori.id_fornitore) WHERE (Prezzi.prezzo = (SELECT MIN(cdbl(prezzo)) AS minimo FROM Prezzi Prezzi_1 WHERE (id_telefono = telefoni.id_telefono)))">
    </asp:AccessDataSource>

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    non ho voglia di lavorare a cottimo guardando il tuo codice

    ti passo un esempietto con un datagrid fatto in due modi diversi; a te l'onere di studiarlo e di adattarlo

    codice:
        Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
            'GoTo 1
    
            Dim Comune$ = ""
            Select Case e.Item.ItemType
                Case ListItemType.Item, ListItemType.AlternatingItem
                    Comune = e.Item.Cells(3).Text
                    If Comune = "ALGHERO" Then
                        e.Item.Style.Add("background", "red")
                    End If
            End Select
    1:
            Select Case e.Item.ItemType
                Case ListItemType.Item, ListItemType.AlternatingItem
                    Dim dbr As DataRowView = DirectCast(e.Item.DataItem, DataRowView)
                    Dim id_comune As String = (Libreria.NullToString(dbr("id_comune")))
    
                    If id_comune = "90006" Then
                        e.Item.Style.Add("background", "green")
                    End If
    
            End Select
    
    
        End Sub
    Pietro

  6. #6
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541

    ho provato come dici te

    Private Sub prezzi_telefoni_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles prezzi_telefoni.ItemDataBound
    'GoTo 1
    Dim Comune As String = ""
    Comune = e.Item.Cells(2).Text
    If Comune = "7web" Then
    e.Item.Style.Add("background", "red")
    End If

    End Sub

    facendo questo.

    ma non accade nulla come se non trovasse l'item non mi da errore ma non accade nemmeno che cambia lo sfondo perchè?

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    hai provato a fare

    response.write(e.Item.Cells(2).Text) per vedere cosa ottieni? :master:
    Pietro

  8. #8
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541

    si

    Originariamente inviato da pietro09
    hai provato a fare

    response.write(e.Item.Cells(2).Text) per vedere cosa ottieni? :master:
    non scrive nulla

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.