dopo aver popolato la datatable e averla assegnata alla gridview chiami il metodo databind della gridview vero?
Se la risposta e' no, sara' dura mandar giu' ado.net 2.0 e asp.net a suon di post quindi ti consiglio di dedicare un certo periodo all'approfondimento teorico oltre che pratico.
Ad esempio, perche' prima di riempire una generica datatable senti la necessita' di creare manualmente la sua struttura? Se hai bisogno di una datatable fatta in un certo modo, allora dovresti imparare ad utilizzare dataset e datatable tipizzati (e creati con l'apposito designer).
Se usi la comoda funzione Load della datatable, non c'e' alcun bisogno di definire manualmente la struttura ma bastano poche linee di codice
un es. che si commenta da solo e che comunque non fa uso delle comode tecniche dell'objectdatasource offerte da asp.net 2.0
codice:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
GridView1.DataSource = getDataTable();
GridView1.DataBind();
}
}
private DataTable getDataTable()
{
DataTable dt = new DataTable();
using (SqlConnection conn = new SqlConnection(@"tuaconnectionstringmaemegliometterladaunaltraparte"))
{
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "SELECT * FROM tuatabella";
conn.Open();
dt.Load(cmd.ExecuteReader(CommandBehavior.CloseConnection));
}
return dt;
}