20 messaggi dal 17 luglio 2006
Ciao a tutti.
Premetto che non sono una cima in asp.net però ho questo problema:

Devo mettere una condizione su un controllo gridview.
Il gridview mi visualizza alcuni campi di un db. in uno di questi campi c'è un hyperlinkfield che mi manda con un collegamento a un'altra pagina.

Vorrei fare in modo che il collegamento ci fosse solamente se il valore del campo è > di 0.

Sapete darmi una mano? Vi allego unpo' di codice magari si capisce meglio!


<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" CellPadding="4" ForeColor="#333333" GridLines="None" Width="100%" Font-Bold="False" Font-Names="Verdana" Font-Size="8pt" AllowPaging="True" AllowSorting="True">
<Columns>
<asp:ImageField DataImageUrlField="CodiceProdotto" DataImageUrlFormatString="~/Img/imgProdotti/{0}.jpg"
HeaderText="Foto" NullImageUrl="~/Img/logocine.jpg" ReadOnly="True">
</asp:ImageField>
<asp:BoundField DataField="CodiceProdotto" HeaderText="Cod." SortExpression="CodiceProdotto" >
<ItemStyle Font-Bold="True" Wrap="False" HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="Modello" HeaderText="Modello" SortExpression="Modello" >
<ItemStyle Font-Size="XX-Small" />
</asp:BoundField>
<asp:BoundField DataField="Giacenza" HeaderText="Giac." SortExpression="Giacenza" >
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="Impegnato" HeaderText="Imp." SortExpression="Impegnato" Visible="False" />


Qui vorrei fare in modo che sia un collegamento solo se DataTextField(IMPEGNATO) è maggiore di 1.
Così com'è il collegamento c'è sempre!

<asp:HyperLinkField DataNavigateUrlFormatString="Impegnati.aspx?Articolo={0}" DataNavigateUrlFields="CodiceProdotto" NavigateUrl="~/Impegnati.aspx" DataTextField="Impegnato" HeaderText="Imp." Target="_blank" SortExpression="Impegnato" >
<ItemStyle HorizontalAlign="Center" />
</asp:HyperLinkField>


<asp:BoundField DataField="Disponibile" HeaderText="Disp." SortExpression="Disponibile" >
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
Ciao,

devi utilizzare l'evento OnRowDataBound del GridView.

Fabrizio Canevali
20 messaggi dal 17 luglio 2006
Grazie mille! Sono riuscito proprio con quel metodo.

Vi chiedo anche un'altra cosa, sempre molto simile, se non è troppo!!!

In una gridview ho la necessità di visualizzare dei dati e fare la modifica.
Ho messo AutoGenerateEditButton=true ma così mi fa, giustamente, modificare tutti i campi della riga.

Se volessi modificare solo uno dei campi come posso fare?

Grazie!
20 messaggi dal 17 luglio 2006
Raga.. sono riuscito senza grossi problemi... sono un po' DIS perso ultimamente...


BASTAVA IMPOSTARE: ReadOnly="True"

Grazie kmq!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.