3 messaggi dal 14 giugno 2007
Ciao
premetto di essermi affacciato da poco al mondo asp.net e vorrei sottoporre un problema che non riesco a risolvere:
sto cercandi di popolare un gridview da codice con i dati di una datatable e riesco a farlo con dei Boundfield che creo in una sub bindGrid().
Il problema è che vorrei creare un gridview con la prima colonna dove vanno delle descrizioni mentre tutte le altre colonne dovrebbero essere di tipo Hyperlink in modo da rimandarmi a ulteriori liste.
Il codice che uso per la creazione dei Boundfield è il seguente

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If (Not Page.IsPostBack) Then
bindGrid()
End If
End Sub

Private Sub bindGrid()

Dim TabApp As New DataTable

'popolo la datatable
TabApp = ......

' Aggiungo le colonne al GridView
For Each dc As DataColumn In TabApp.Columns
Dim NomeCol As New BoundField
NomeCol.DataField = dc.ColumnName
NomeCol.HeaderText = dc.ColumnName
GridViewFoniaNoEvo.Columns.Add(NomeCol)
Next

Me.GridViewFoniaNoEvo.DataSource = TabApp
Me.GridViewFoniaNoEvo.DataBind()

Spero di essere stato chiaro e che qualcuno riesca a darmi una mano.
652 messaggi dal 21 gennaio 2007
Contributi
ma perchè non utilizzi la parte di markup, e i controlli BoundField, HyperLinkField, TemplateField ?

<asp:GridView ID="GridView1" runat="server" BackColor="White" BorderColor="White" BorderStyle="Ridge" BorderWidth="2px" CellPadding="3" CellSpacing="1" GridLines="None" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="TUOCAMPO" />
<asp:HyperLinkField DataNavigateUrlFields="TUOCAMPODAPASSAREINQUERYSTRING" DataNavigateUrlFormatString="SmallWindow.aspx?id={0}" DataTextField="TUOCAMPOTESTO" NavigateUrl="SmallWindow.aspx" />
</Columns>
</asp:GridView>

e nella parte di code-behind
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
If (Not Page.IsPostBack) Then 
'popolo la datatable 
TabApp = ...... 

Me.GridViewFoniaNoEvo.DataSource = TabApp 
Me.GridViewFoniaNoEvo.DataBind() 
End If 
End Sub 
3 messaggi dal 14 giugno 2007
PeppeDotNet ha scritto:
ma perchè non utilizzi la parte di markup, e i controlli BoundField, HyperLinkField, TemplateField ?

<asp:GridView ID="GridView1" runat="server" BackColor="White" BorderColor="White" BorderStyle="Ridge" BorderWidth="2px" CellPadding="3" CellSpacing="1" GridLines="None" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="TUOCAMPO" />
<asp:HyperLinkField DataNavigateUrlFields="TUOCAMPODAPASSAREINQUERYSTRING" DataNavigateUrlFormatString="SmallWindow.aspx?id={0}" DataTextField="TUOCAMPOTESTO" NavigateUrl="SmallWindow.aspx" />
</Columns>
</asp:GridView>

e nella parte di code-behind
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
If (Not Page.IsPostBack) Then 
'popolo la datatable 
TabApp = ...... 

Me.GridViewFoniaNoEvo.DataSource = TabApp 
Me.GridViewFoniaNoEvo.DataBind() 
End If 
End Sub 



Perchè il nome delle colonne è variabile a seconda di una serie di parametri e pertanto non lo conosco prima di aver costruito la tabella.
Per essere più chiari ho creato una query che mi assegna il valore della colonna in base alla data.
Per utilizzare la parte di markup dovrei conoscerli....
Grazie
652 messaggi dal 21 gennaio 2007
Contributi
ok, allora come hai utilizzato la classe BoundFiled nel tuo codice, allo stesso modo puoi utilizzare la classe HyperLinkField o la classe BoundField per inserire delle colonne lato-server all'interno della tua GridView.

trovi un esempio di utilizzo della classe HyerLinkField qua:
http://msdn.microsoft.com/it-it/library/system.web.ui.webcontrols.hyperlinkfield.hyperlinkfield.aspx
3 messaggi dal 14 giugno 2007
PeppeDotNet ha scritto:
ok, allora come hai utilizzato la classe BoundFiled nel tuo codice, allo stesso modo puoi utilizzare la classe HyperLinkField o la classe BoundField per inserire delle colonne lato-server all'interno della tua GridView.

trovi un esempio di utilizzo della classe HyerLinkField qua:
http://msdn.microsoft.com/it-it/library/system.web.ui.webcontrols.hyperlinkfield.hyperlinkfield.aspx



Fantastico grazie funziona alla perfezione!!

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.