Popolare una datagrid da codice

lunedì 01 giugno 2009 - 00.18

Anonimo Profilo | Senior Member

Salve, io ho questo codice che riempe una tabella e divide in 3 .

Però vorrei collegarla ad una datagrid. però non mi riesce ad capire come fare,
ed ora è fatta con una semplice table, però non capisco perchè l'output della tabella lo scrive in cima prima del doctype html.

vi posto il codice.

vi ringrazio molto se mi risolvete questo problema.

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

luxsor Profilo | Guru

Ciao Luigi,
non ho ben capito se vuoi utilizzare un gridview, anzichè la tabella?

Fammi sapere



------------------------
Luxsor

Anonimo Profilo | Senior Member

si voglio usare gridview con lo stesso codice.

Anonimo Profilo | Senior Member

più o meno cosi:

Sub Bind()
Try

MyConnection.Open()



SQL = "SELECT * FROM utenti"

Dim MyCommand As New OdbcCommand(SQL, MyConnection)
Dim myAdapter As New OdbcDataAdapter(MyCommand)
Dim DS As New DataSet
myAdapter.Fill(DS)
GridView1.DataSource = DS
GridView1.DataBind()
MyConnection.Close()

Catch ex As Exception

End Try
End Sub

Ma come faccio ad fare quello che ho fatto sopra?.

grazie.

balfaz Profilo | Expert

non capisco perchè devi farlo in questa maniera, ma sai come si dice "non ha tutti piace il cioccolato", ma la tua logica mi fa pensare che programmavi in PHP, comunque, potresti fare un bind al gridview (grvw) per farsi che ti crei le rispettive quantità di righe poi avendo aggiunto un controllo literal come TemplateField nel tuo grvw, usa l'evento rowdatabound del tuo grvw per inserire il tuo famoso codice crea-tabelle per inserirlo nella rispettiva riga

>>crei il template field
<asp:GridView ID="TuoGrVw" runat="server" AutoGenerateColumns="False" AllowPaging="True" >
<Columns>
<asp:TemplateField HeaderText="Dettaglio">
<ItemTemplate>
<asp:literal runat="server" text="" id="LitTabella"
</ItemTemplate>
</asp:TemplateField>
</columns>
</asp:gridview> <----fatto al volo

nell'evento rowdatabound del tuogrvw

if e.Row.RowType = DataControlRowType.DataRow Then
dim litX as literal = ctype(e.row.cell(0).findcontrol("litTabella"),literal)
litX.text = "<table BORDER='0'>"
litX.text = "<td width=""30%"">"
litX.text += "<td>" & rdr("username") & "</td>")
litX.text += "</td>"
litX.text += "</tr>" & vbCrLf & "<tr></br>"
litX.text += "</table>"
end if

>>fatto al volo anche questo

spero che ti serva e se non fosse cosi almeno che ti dia una idea di come fare

Dove troverai sempre una mano disposta ad aiutarti è nell'estremo del tuo proprio braccio

Anonimo Profilo | Senior Member

scusa, non capisco dove va inserito questo codice:
me lo spieghi faccendo tutto il codice da prova.aspx,
grazie.

if e.Row.RowType = DataControlRowType.DataRow Then dim litX as literal = ctype(e.row.cell(0).findcontrol("litTabella"),literal) litX.text = "<table BORDER='0'>" litX.text = "<td width=""30%"">" litX.text += "<td>" & rdr("username") & "</td>") litX.text += "</td>" litX.text += "</tr>" & vbCrLf & "<tr></br>" litX.text += "</table>" end if

balfaz Profilo | Expert

oggi provo a farlo e ti invio il post, scusa il ritardo ma sono impegnato...

Dove troverai sempre una mano disposta ad aiutarti è nell'estremo del tuo proprio braccio

Anonimo Profilo | Senior Member

ok, grazie....

però vorrei fare una cosa del tipo: http://cutesoft.net/ASP.NET+Image+Gallery/DotNetgallery+Demo/default2.aspx

vedi l'esempio.

però non usando componenti di terze parti e con codice semplice, e creato da me e da voi

in asp 3. lo sapevo fare ma qui no.

grazie.

Anonimo Profilo | Senior Member

allora, ci sono quasi ,
prova questo codice:
<%@ Page Language="c#" %> <%@ Import Namespace="System.Data" %> <%@ import Namespace="System.Data.SqlClient"%> <script runat="server"> private void Page_Load(object sender, System.EventArgs e) { int rows = 2; int cells = 5; for (int j=0; j<rows; j++) { TableRow r = new TableRow(); for (int i=0; i<cells; i++) { TableCell c = new TableCell(); c.Controls.Add(new LiteralControl(" cella " + i)); r.Cells.Add(c); } Table1.Rows.Add(r); } } </script> <html> <body> <form runat="server"> <asp:Table id="Table1" BorderWidth="1" GridLines="Both" runat="server" /> </form> </body> </html>

Mi sapresti dire come fare il ciclo che prende le cose dal db?.

Però dopo lo devo convertire in vb.net

grazie mille, per la pazienza.

Anonimo Profilo | Senior Member

ok, trovato per vb.net http://www.aspnettutorials.com/tutorials/controls/table-webserver-control-vb.aspx

Mi dici come addatare il codice?.

grazie.

Anonimo Profilo | Senior Member

ha ecco c'è lo quasi fatta.
però mi ripete come mai?.

vedi codice:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

ecco l'immagine:


208x156 13Kb

Anonimo Profilo | Senior Member

nessuno ?.

Mi potete darmi una mano?
grazie.
ciao, e buona domenica e buon lunedì.
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5