ciao a tutti, ho un problema
ho creato dinamicamente un DataSet, recuperando dati da un DB ed incrociando righe e colonne, dato che la mia tabella contiene molte righe, visualizzo, ogni x righe l'intestazione...
il mio problema è che vorrei visualizzare l'intestazione con lo stesso layout dell'intestazione del datagrid e non con il layout del testo contenuto nel datagrid
posto il codice per essere piu chiara...
// visualizzo l'intestazione ogni X righe...
// duplico il datatable per creare le intestazioni ogni X righe
DataTable StartPlanning = DsDati.Tables["Planning"];
DataTable TmpPlanning = new DataTable();
//creo la riga con tante colonne di tipo stringa quante il dt originario
for (int i = 0; i < StartPlanning.Columns.Count; i++)
{
TmpPlanning.Columns.Add(StartPlanning.Columns[i].Caption, typeof(string));
}
//contatore righe stampate
int c=0;
//scansione delle righe del dt origirario per riempire il clone
foreach (DataRow r in StartPlanning.Rows)
{
c++;
if(c > k) //se ho superato le righe prefissate
{
c = 0; //azzero contatore
DataRow dr1 = TmpPlanning.NewRow(); //creo una nuova riga di intestazione
for (int i = 0; i < TmpPlanning.Columns.Count; i++)
dr1[i] = TmpPlanning.Columns[i].Caption;
//aggiungo la riga appena creata
TmpPlanning.Rows.Add(dr1);
c++;
//creo una nuova riga
DataRow dr2 = TmpPlanning.NewRow();
//la riempio dei dati del dt originario, riga corrente
for (int i = 0; i < TmpPlanning.Columns.Count; i++)
if(i == 0)
dr2[i] = string.Format("{0:d}", r[i]);
else
dr2[i] = r[i];
//aggiungo la riga appena creata
TmpPlanning.Rows.Add(dr2);
}
else
//sono tra una intestazione e l'altra: aggiungo una riga di dati copiandoli dalla riga corrente del dt originario
{
DataRow dr2 = TmpPlanning.NewRow();
for (int i = 0; i < TmpPlanning.Columns.Count; i++)
if(i == 0)
dr2[i] = string.Format("{0:d}", r[i]);
else
dr2[i] = r[i];
TmpPlanning.Rows.Add(dr2);
}
//lego la griglia al dt clone creato
MyDataGrid.DataSource = TmpPlanning.DefaultView;
MyDataGrid.DataBind();
come posso impostare il layout della riga creata
Grazie per l'aiuto

Rispondi quotando