Lo script è proprio quello e ho gia provato a stampare a video il valore della proprieta ma non mi da il valore aggiornato cioè:
Alla prima apertura è sempre 0 difatti se faccio un response.write() mi da appunto il valore 0 (ciò vale anche se ho dei record presenti). Mentre se cancello l'ultimo record del db mi dovrebbe ridare 0 ma mi da ancora 1 quindi il formview rimane in read ma i dati non ci sono quindi non vedo nulla....
il motivo per cui non la proprietà TotalRowCount appare non aggiornata è proprio perche non lo è  .

mi spiego meglio, il valore della proprietà viene settato dal metodo InitializePager.

quindi se questo metodo non viene eseguito il valore rimane a zero.

domanda perche il metodo non viene eseguito? perche il DataBinding della GridView avvine solo se richiamato esplicitamente tramite GridView1.DataBind(), o accedendo ad una delle sue proprietà da esempio Rows o in ultima istanza all'incirca tra l'eventi di rendering della pagina e del controllo.

nel tuo caso visto che nello script non ho implementato nessuna binding "forzato"(può essere una cosa da implementare)
prova semplicemente ad usare GridView1.Rows.Count.

ciao marco
Modificato da nostromo il 16 febbraio 2007 11.19 -

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

http://nostromo.spaces.live.com/default.aspx
forse sto incominciando a capirci qualcosa (ma forse), cmq ho provato a fare quello che mi hai consigliato cioè usare GridView1.Rows.Count e per quanto riguarda la prima parte del problema la soluzione è buona cioè alla prima apertura è 0 se non ho record mentre se ho record mi da il numero delle rows(tutto OK). Mentre se cancello l'ultimo record del db mi da lo stesso problema di prima..
credo che sia dovuto al fatto che il controllo è fatto nel Page_Load, considera che quando viene eseguito il codice ancora la riga non è stata cancellata, quindo o crei un event handler per l'eliminazione avvenuta e ricontrolli o provi a spostare tutto nel gestore dell'evento PreRender della pagina.

ciao marco

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

http://nostromo.spaces.live.com/default.aspx
niente ho provato con il prerender, init ... ma niente, ho provato ad utilizzare anche l'evento item delete del form view ma niente

protected void Page_PreRender(object sender, EventArgs e)
{
if (GridView1.Rows.Count > 0)
{
detailNews.DefaultMode = FormViewMode.ReadOnly;
}
else
{
detailNews.DefaultMode = FormViewMode.Insert;
}
}


protected void detailNews_ItemInserted(object sender, FormViewInsertedEventArgs e)
{
detailNews.DefaultMode = FormViewMode.ReadOnly;
}
protected void detailNews_ItemDeleted(object sender, FormViewDeletedEventArgs e)
{
if (GridView1.Rows.Count == 0)
{
detailNews.DefaultMode = FormViewMode.Insert;
}
}
Forse ci siamo cosi sembra che tutto vada bene, anche se sicuramente la soluzione non è proprio bellissima ma non ho trovato altra soluzione:

 
protected void Page_Load(object sender, EventArgs e)
{
if (GridView1.Rows.Count > 0)
{
detailNews.DefaultMode = FormViewMode.ReadOnly;
}
}
protected void detailNews_ItemInserted(object sender, FormViewInsertedEventArgs e)
{
detailNews.DefaultMode = FormViewMode.ReadOnly;
}
protected void detailNews_ItemDeleted(object sender, FormViewDeletedEventArgs e)
{
if (GridView1.Rows.Count == 1)
{
detailNews.ChangeMode(FormViewMode.Insert);
}
}


ciao marco e grazie di nuovo
di niente, appena ho tempo farò delle modifice allo script 810 in modo che si occuoi di inizializzare il GridView se non lo fosse, posterò tutto sul blog e metto poi un link tra i commenti allo script.

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.