Ciao a tutti, ho bisogno del vostro aiuto sto costruendo un datagrid (dg_gestori) in maniera dinamica, ossia creando le varie colonne da codice. Per farlo ho creato la seguente funzione (bindgrid).

codice:
public void BindGrid()
//CARICA IL DATAGRID GESTORI
{
	SqlCommand cmd_com = new SqlCommand();
	cmd_com.CommandText="SELECT id_gestore, g_ragSociale, g_comune, g_indirizzo, g_tel, g_fax, g_cellulare, g_email, g_web FROM GESTORI ORDER BY g_ragSociale";
	cmd_com.Connection = this.connetti();
	//carico il Datagrid con i gestori
	DG_gestori.DataSource=cmd_com.ExecuteReader();

	//costruisco le colonne del Datagrid
	BoundColumn id_gestore = new BoundColumn();
	id_gestore.DataField = "id_gestore";
	id_gestore.HeaderText = "ID";
	id_gestore.ReadOnly=true;
	DG_gestori.Columns.Add(id_gestore);

	BoundColumn g_ragSociale = new BoundColumn();
	g_ragSociale.DataField = "g_ragSociale";
	g_ragSociale.HeaderText = "Ragione sociale";
	DG_gestori.Columns.Add(g_ragSociale);
	
	BoundColumn g_comune = new BoundColumn();
	g_comune.DataField = "g_comune";
	g_comune.HeaderText = "Comune";
	DG_gestori.Columns.Add(g_comune);
	
	BoundColumn g_indirizzo = new BoundColumn();
	g_indirizzo.DataField = "g_indirizzo";
	g_indirizzo.HeaderText = "Indirizzo";
	DG_gestori.Columns.Add(g_indirizzo);

	BoundColumn g_tel = new BoundColumn();
	g_tel.DataField = "g_tel";
	g_tel.HeaderText = "Telefono";
	DG_gestori.Columns.Add(g_tel);

	BoundColumn g_fax = new BoundColumn();
	g_fax.DataField = "g_fax";
	g_fax.HeaderText = "Fax";
	DG_gestori.Columns.Add(g_fax);

	BoundColumn g_cellulare = new BoundColumn();
	g_cellulare.DataField = "g_cellulare";
	g_cellulare.HeaderText = "Cellulare";
	DG_gestori.Columns.Add(g_cellulare);

	BoundColumn g_email = new BoundColumn();
	g_email.DataField = "g_email";
	g_email.HeaderText = "E-Mail";
	DG_gestori.Columns.Add(g_email);
	
	HyperLinkColumn g_web = new HyperLinkColumn();
	g_web.DataTextField = "g_web";
	g_web.DataNavigateUrlField="g_web";
	g_web.Target="_blank";
	g_web.HeaderText = "Sito Web";
	DG_gestori.Columns.Add(g_web);
	
	DG_gestori.DataKeyField="id_gestore";
	DG_gestori.DataBind();
	DG_gestori.Visible=true;
}

Come vedete si tratta di una serie di boundcolumn che vengono aggiunte al datagrid.
Il problema e che per la colonna "comune" avrei bisogno, nel momento in cui vado in modalità modifica, di una dropdownlist (con tutti i comuni) piuttosto che di una textbox (che appare di default).

Ho provato a creare una
codice:
TemplateColumn g_comune = new TemplateColumn();
ma non so poi come gestire (con il codice) i 2 valori possibili per questa colonna ossia
codice:
ItemTemplate
ed
codice:
EditItemTemplate
.

Sono piuttosto disperato, qualcuno può aiutarmi???