Ciao,in un grid view ho un campo link,devo però inserire la condizione che se il campo è 0 non deve apparire come link e deve essere di colore diverso,come posso fare?
Ciao,in un grid view ho un campo link,devo però inserire la condizione che se il campo è 0 non deve apparire come link e deve essere di colore diverso,come posso fare?
un pò di codice non farebbe male.. ma cmq credo che puoi provare ad agganciare la cella tramite un evento della gridview.. che ne sò.. durante il databinding della stessa ad esempio..Originariamente inviato da tonz79
Ciao,in un grid view ho un campo link,devo però inserire la condizione che se il campo è 0 non deve apparire come link e deve essere di colore diverso,come posso fare?
Voglio l'alt+s anche per FF
scusa ma sono alle prime armi e non ho ben capito.io ho questo gridview:
il link in questione è TOTALE NOTE DI CREDITO, come dovrei modificare la pagina aspx e come introduco la condizione nel cs?grazie mille!!!codice:<asp:GridView align="center" ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="White" BorderColor="#999999" BorderStyle="None" BorderWidth="1px" CellPadding="3" DataSourceID="SqlDataSource1" GridLines="Vertical"> <FooterStyle BackColor="#CCCCCC" ForeColor="Black" /> <RowStyle BackColor="#EEEEEE" ForeColor="#336699" Font-Names="Verdana" Font-Size="8pt" HorizontalAlign="Center" /> <Columns> <asp:BoundField DataField="TERRITORIO" HeaderText="TERRITORIO" SortExpression="TERRITORIO" /> <asp:BoundField DataField="PREMIUM_CARE" HeaderText="PREMIUM CARE" SortExpression="PREMIUM_CARE" /> <asp:HyperLinkField DataTextField="NdC_A_ESIGENZE" HeaderText="NOTE DI CREDITO ASSOCIATE A ESIGENZA" DataNavigateUrlFields="TERRITORIO, PREMIUM_CARE" DataNavigateUrlFormatString="~/ndc_ent_dett_esigenza.aspx?terr={0}&gruppo={1}"> <ControlStyle Font-Bold="True" ForeColor="#336699" Font-Names="Verdana" Font-Size="Smaller" /> </asp:HyperLinkField> <asp:HyperLinkField DataTextField="NdC_A" HeaderText="TOTALE NOTE DI CREDITO" DataNavigateUrlFields="TERRITORIO, PREMIUM_CARE" DataNavigateUrlFormatString="~/ndc_ent_dett_totale.aspx?terr={0}&gruppo={1}"> <ControlStyle Font-Bold="True" ForeColor="#336699" Font-Names="Verdana" Font-Size="Smaller" /> </asp:HyperLinkField> <asp:BoundField DataField="kpi" HeaderText="KPI" SortExpression="kpi" /> </Columns> <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" /> <SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" /> <HeaderStyle BackColor="#336699" Font-Bold="True" ForeColor="White" Font-Names="Verdana" Font-Size="10pt" /> <AlternatingRowStyle BackColor="white" /> </asp:GridView>
devi utilizzare un evento del gridview.. tipo il RowDataBound, a questo indirizzo c'è un esempio: http://weblogs.asp.net/meligy/archiv...ng-events.aspx
Voglio l'alt+s anche per FF
l'esempio purtroppo non mi dice come posso appliccare la condizione solo ad una colonna del gridview e poi non so come togliere il link se vale 0, cmq mi è stato di iuto vedere quell'esempio
un esempio si chiama esempio appunto perchè ti mostra sommariamente quello puoi fare.. cmq te l'ho detto io.. devi usare l'evento RowDataBound ed è lì dentro che devi fare un semplicissimo controllo ad "esempio":
il codice scritto sopra potrebbe essere sbagliato nella sintassi.. ma si tratta sempre di un "esempio" come quello che stà in quella pagina che ti ho inviato.. su un pò di sforzo..codice:protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { ... if (e.Row.RowType == DataControlRowType.DataRow) { if(e.Row.Cells[e.Row.RowIndex].Text == "quello che vuoi") e.Row.Cells[e.Row.RowIndex].Text = "quello che vuoi" } .. }
Voglio l'alt+s anche per FF
ok grazie,se a qualcuno può servire posto il codice:
.cs
nel .aspx la colonna l'ho messa come boundfield e non+come hyperlink e ho aggiunto:codice:protected void Page_Load(object sender, EventArgs e) { } protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { if (e.Row.Cells[7].Text != "0") { e.Row.Cells[7].Text = "<a style=\"color: #FF3300\" href=tme_esigenze_ent_fisso_dett2.aspx?esigenza=" + e.Row.Cells[2].Text + ">" + e.Row.Cells[7].Text + "</A>"; } } }
<asp:GridView OnRowDataBound="GridView1_RowDataBound">
grazie mille!!!
con il tuo codice xò se cambi la posizione delle colonne non funziona + niente! non è possibile indicare il nome della colonna che ti serve?
la vita è un fulmine ma prenderlo nel culo è un lampo.