Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 1.0/1.1
Textbox in dataview
martedì 01 febbraio 2005 - 14.02
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
sig
Profilo
| Junior Member
58
messaggi | Data Invio:
mar 1 feb 2005 - 14:02
devo inserire in un dataview una colonna contenente, ad ogni riga, una textbox in cui inserire una stringa, come posso fare ???
Grazie anticipatamente
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mar 1 feb 2005 - 22:09
Una DataView è una vista logica in memoria di una tabella dati.
Non è visibile, come fai ad inserire una textbox ?
ciao
david
sig
Profilo
| Junior Member
58
messaggi | Data Invio:
mer 2 feb 2005 - 08:58
Premetto che sono ignorante in materia MA credo che in ASP 2.0 dataview sia il sostituto di datagrid.
Comunque come inserisco le textbox in un datagrid ???
Grazie ancora per la disponibilità dimostrata.
sig
Profilo
| Junior Member
58
messaggi | Data Invio:
mer 2 feb 2005 - 18:16
Hai ragione GridView non dataView, come posso inserire in un gridView, ad ogni riga, una colonna formata da textbox ????
GvnnRules
Profilo
| Senior Member
436
messaggi | Data Invio:
mer 2 feb 2005 - 22:21
Ciao,
Per aggiungere una colonna con dei texbox non cambia molto dal vecchio datagrid, devi aggiungere un TemplateField (che una volta si chiamava TemplateColumn) con all'interno un textBox, ecco il codice:
<asp:GridView ID="GridView1" Runat="server">
<Columns>
<asp:TemplateField><EditItemTemplate>
<asp:TextBox ID="TextBox1" Runat="server"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Ciaoz
Gvnn
sig
Profilo
| Junior Member
58
messaggi | Data Invio:
gio 3 feb 2005 - 08:37
GRAZIE, lo provo subito !!!
sig
Profilo
| Junior Member
58
messaggi | Data Invio:
gio 3 feb 2005 - 15:17
Il textbox me lo inserisce MA ora ho il seguente (sucessivo) problema:
devo acquisire in un Access DB il contenuto delle textbox "pippo" (non è possibile assegnare per ogni row un nome differente alla textbox ??) ma il component textbox "pippo" non mi viene trovato quando provo a cercarlo nel file c#; come posso fare ???
Grazie anticipatamente
GvnnRules
Profilo
| Senior Member
436
messaggi | Data Invio:
gio 3 feb 2005 - 21:29
E qua arria il bello!
Non devi nominare il textbox in modo diverso per ogni riga, devi praticamente ciclare per ogni riga del tuo gridview e utilizzare il metodo find control ... diciamo una cosa del genere (scusa ma è in c#)
foreach (GridViewRow myRow in GridView1.Rows)
{
TextBox myText = (TextBox)myRow.FindControl("mioTextBox");
Response.Write(myText.Text);
}
Se hai qualche dubbio chiedi pure.
Ciaoz
sig
Profilo
| Junior Member
58
messaggi | Data Invio:
ven 4 feb 2005 - 09:45
Grazie, la tua spiegazione è molto chiara e quindi nessun problema.
Un'altra domanda: dato che, per motivi di spazio, il gridview è stato "paginato" il codice funziona per tutte le pagine oppure solo per quella selezionata ??? nel primo caso come posso fare (oltre a creare una lista e registare tutto alla fine)
GRAZIE ANCORA
GvnnRules
Profilo
| Senior Member
436
messaggi | Data Invio:
ven 4 feb 2005 - 09:52
Purtroppo se lo hai paginato tu lavori solo sulle righe che ci sono nella tua pagina, devi inventarti una procedura che salvi pagina per pagina.
Ciaoz
Gvnn
sig
Profilo
| Junior Member
58
messaggi | Data Invio:
ven 4 feb 2005 - 09:58
GRAZIE
sig
Profilo
| Junior Member
58
messaggi | Data Invio:
ven 4 feb 2005 - 10:13
Sfrutto ancora le tue conoscenze:
se voglio inserire nello stesso textbox presente del gridview una stringa quando viene creato cosa devo fare ???
Grazie ancora
GvnnRules
Profilo
| Senior Member
436
messaggi | Data Invio:
ven 4 feb 2005 - 11:04
Devi praticamente intercettare l'evento di RowDataBound, ad esempio mettiamo che passi una datatable al tuo datagrid e vuoi scrivere nel textbox il valore del campo della tua datatable, diciamo che verrebbe una cosa del genere ...
void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
DataRowView rowView = (DataRowView)e.Row.DataItem;
if (rowView != null)
{
TextBox myText = (TextBox)e.Row.FindControl("TextBox");
myText.Text = rowView["Valore_Datatable"]
}
}
Naturalmente nel datagrid devi aggiungere la chiamata alla funzione
OnRowDataBound="GridView1_RowDataBound"
Ciaoz
Gvnn
sig
Profilo
| Junior Member
58
messaggi | Data Invio:
ven 4 feb 2005 - 12:05
OK ma supponiamo che voglia inserire "semplicemenete" la seguente stringa (in tutti i textbox) "digita qui" come posso fare ???
Grazie per la disponibilità dimostrata
sig
Profilo
| Junior Member
58
messaggi | Data Invio:
ven 4 feb 2005 - 12:37
credo di aver risolto da solo
GvnnRules
Profilo
| Senior Member
436
messaggi | Data Invio:
ven 4 feb 2005 - 12:43
Bhè invece che fare
myText.Text = rowView["Valore_Datatable"]
fai
myText.Text = "Digitare quì"
Ciaoz
Gnn
sig
Profilo
| Junior Member
58
messaggi | Data Invio:
ven 4 feb 2005 - 14:39
E' quello che ho fatto ma in realtà invece di passare una strinag "digita qui" ho creato un array di stringhe e le ho passate (incrementando l'indice) credendo che così mi inserisse ad ogni riga la stringa corrispondente: prima riga myArray[0], seconda riga myArray[1],.....
in realtà assegna a tutte l'ultima stringa
void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
string [] myArray = new string [] {"pippo", "pluto", "paperino"};
DataRowView rowView = (DataRowView)e.Row.DataItem;
if (rowView != null)
{
TextBox myText = (TextBox)e.Row.FindControl("TextBox");
for (int i = 0; i < myArray.Length; i++)
{
myText.Text = myArray[i];
}
}
}
In debug devo che ad ogni iterazione aasegna a myText.Text il valore corretto quindi ogni volta lo sovrascrive ed alla fine restituisce solo l'ultimo, coem posso fare ???
GRAZIE anticipatamente
sig
Profilo
| Junior Member
58
messaggi | Data Invio:
ven 4 feb 2005 - 14:39
E' quello che ho fatto ma in realtà invece di passare una strinag "digita qui" ho creato un array di stringhe e le ho passate (incrementando l'indice) credendo che così mi inserisse ad ogni riga la stringa corrispondente: prima riga myArray[0], seconda riga myArray[1],.....
in realtà assegna a tutte l'ultima stringa
void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
string [] myArray = new string [] {"pippo", "pluto", "paperino"};
DataRowView rowView = (DataRowView)e.Row.DataItem;
if (rowView != null)
{
TextBox myText = (TextBox)e.Row.FindControl("TextBox");
for (int i = 0; i < myArray.Length; i++)
{
myText.Text = myArray[i];
}
}
}
In debug devo che ad ogni iterazione aasegna a myText.Text il valore corretto quindi ogni volta lo sovrascrive ed alla fine restituisce solo l'ultimo, come posso fare ???
GRAZIE anticipatamente
sig
Profilo
| Junior Member
58
messaggi | Data Invio:
ven 4 feb 2005 - 15:52
RISOLTO
ora legge direttamente da DB
sig
Profilo
| Junior Member
58
messaggi | Data Invio:
ven 4 feb 2005 - 15:52
RISOLTO
ora legge direttamente da DB
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !