33 messaggi dal 15 gennaio 2007
Salve a tutti,
per rendere sempre visibile la pagerrow utilizzo questo codice nell'evento prerender del gridview:

Dim gv As System.Web.UI.WebControls.GridView = CType(sender, System.Web.UI.WebControls.GridView)
If Not gv Is Nothing Then
Dim PagerRow As GridViewRow = gv.BottomPagerRow
If Not PagerRow Is Nothing Then
PagerRow.Visible = True
End If
End If

se però il gridview non contiene nessuna riga, la pagerrow non la visualizza...

come posso fare per farla vedere sempre anche con il gridview 'vuoto'?
(per capirci, ho inserito nella pagerrow un pulsante per aggiungere una riga al grid...)

ciao e grazie in anticipo...
puoi partire da questo esempio

http://www.aspitalia.com/script/829/Mostrare-Header-GridView-ASP.NET-2.0-Mancanza-Dati.aspx

in questo caso viene sempre mostrato l'header ma può essere fatta la solita cosa con il Footer

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
33 messaggi dal 15 gennaio 2007
secondo l'esempio ho creato una classe così:

Public Class ExtGridView
Inherits GridView
Protected Overloads Overrides Function CreateRow(ByVal rowIndex As Integer, ByVal dataSourceIndex As Integer, ByVal rowType As DataControlRowType, ByVal rowState As DataControlRowState) As GridViewRow
If rowType = DataControlRowType.EmptyDataRow Then
Return MyBase.CreateRow(-1, -1, DataControlRowType.Header, DataControlRowState.Normal)
Else
Return MyBase.CreateRow(rowIndex, dataSourceIndex, rowType, rowState)
End If
End Function
End Class

però, essendo poco esperto, non so come registrarla in modo corretto e come utilizzarla...

mi potresti aiutare in questo?

grazie mille!!!
devi mettere la classe in App_Code, dopo è sufficente registrare il webcontrol della pagina, direttiva Register

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
33 messaggi dal 15 gennaio 2007
Ho provato, ma devo aver sbagliato qualcosa poichè non mi riconosce il tag...
ho salvato la mia classe in un file ExtGridView.vb, anche se non l'ho messo dentro la cartella App_Code (è obbligatorio?) ma l'ho lasciato nella cartella principale.
mi potresti fare un esempio di 'registrazione' dentro il web.config?
(nel caso voglia usare un tag del tipo "EGrd:ExtGridView")

perdona la mia ignoranza...

nel web config devi mettere una cosa simile:
<add tagPrefix="EGrd" namespace="MyCustomControl"/>

sezione <pages><controls>


nella tua pagina lo usi così:

<EGrd:ExtGridView>

assicurati di racchiudere la tua classe in un namespace, in questo caso chiamato MyCustomControl

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
33 messaggi dal 15 gennaio 2007
ho fatto così:

Namespace MyCustomControl
Public Class ExtGridView
Inherits GridView
Protected Overloads Overrides Function CreateRow(ByVal rowIndex As Integer, ByVal dataSourceIndex As Integer, ByVal rowType As DataControlRowType, ByVal rowState As DataControlRowState) As GridViewRow
If rowType = DataControlRowType.EmptyDataRow Then
Return MyBase.CreateRow(-1, -1, DataControlRowType.Header, DataControlRowState.Normal)
Else
Return MyBase.CreateRow(rowIndex, dataSourceIndex, rowType, rowState)
End If
End Function
End Class
End Namespace

e nel web.config ho inserito la riga come mi hai detto
(ti faccio vedere tutto il tag <page>, la riga inserita è l'ultima)

<pages>
<namespaces>
<clear/>
<add namespace="System"/>
<add namespace="System.Collections"/>
<add namespace="System.Collections.Specialized"/>
<add namespace="System.Configuration"/>
<add namespace="System.Text"/>
<add namespace="System.Text.RegularExpressions"/>
<add namespace="System.Web"/>
<add namespace="System.Web.Caching"/>
<add namespace="System.Web.SessionState"/>
<add namespace="System.Web.Security"/>
<add namespace="System.Web.Profile"/>
<add namespace="System.Web.UI"/>
<add namespace="System.Web.UI.WebControls"/>
<add namespace="System.Web.UI.WebControls.WebParts"/>
<add namespace="System.Web.UI.HtmlControls"/>
</namespaces>
<controls>
<add tagPrefix="rjs" namespace="RJS.Web.WebControl" assembly="RJS.Web.WebControl.PopCalendar"/>
<add tagPrefix="cc1" namespace="EventCalendar" assembly="EventCalendarControl"/>
<add tagPrefix="DayPilot" namespace="DayPilot.Web.Ui" assembly="DayPilot"/>
<add tagPrefix="Msg" namespace="BunnyBear" assembly="msgBox"/>
<add tagPrefix="EGrd" namespace="MyCustomControl" />
</controls>
</pages>

ma continua a non riconoscere l'elemento ExtGridView...

dove sbaglio?
inserisci la classe in App_Code

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx

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.