Datacolumn

cs_jijo Messages postés 2 Date d'inscription jeudi 19 août 2004 Statut Membre Dernière intervention 14 mars 2005 - 9 mars 2005 à 11:55
taoetc Messages postés 346 Date d'inscription lundi 8 septembre 2003 Statut Membre Dernière intervention 3 septembre 2007 - 15 mars 2005 à 08:48
Salut,
j'ai un petit probleme avec une fonction resizeColumn, qui me permet d'ajuster la taille des colonnes d'une table. En fait, comme la bdd change souvent, cette fonction est activee par un bouton, qui permet le rafraichissement de la table. Si j'execute 2 fois la fonction, on me dit que le datacolumn existe deja... je ne sais pas trop comment regler le prob. au secour.

voici la fonction:

protected
void resizeColumns(DataGrid grid)


{


Graphics g = CreateGraphics();


DataTable dataTable = (DataTable)grid.DataSource;


dataGridTableStyle.MappingName = dataTable.TableName;



foreach(DataColumn dataColumn
in dataTable.Columns)


{



int maxSize = 0;


SizeF size = g.MeasureString(


dataColumn.ColumnName,


grid.Font


);



if(size.Width > maxSize)


maxSize = (
int)size.Width;



foreach(DataRow row
in dataTable.Rows)


{


size = g.MeasureString(


row[dataColumn.ColumnName].ToString(),


grid.Font


);



if(size.Width > maxSize)


maxSize = (
int)size.Width;


}


DataGridColumnStyle dataGridColumnStyle =
new DataGridTextBoxColumn();


dataGridColumnStyle.MappingName = dataColumn.ColumnName;


dataGridColumnStyle.HeaderText = dataColumn.ColumnName;


dataGridColumnStyle.Width = maxSize + 5;


dataGridTableStyle.GridColumnStyles.Add(dataGridColumnStyle);


}


grid.TableStyles.Add(dataGridTableStyle);


g.Dispose();


}

jo

2 réponses

cs_Crazyht Messages postés 1522 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 21 août 2010 8
10 mars 2005 à 00:38
Mais ou est declarée la variable dataGridTableStyle ?
Ou est elle instanciée ?

A++

Crazyht
MVP Visual C#.NET

[Admin Codes-Sources]
[Membre Developer-Association]
0
taoetc Messages postés 346 Date d'inscription lundi 8 septembre 2003 Statut Membre Dernière intervention 3 septembre 2007 3
15 mars 2005 à 08:48
rajoute un grid.TablesStyle.clear() au début et ca marchera
0
Rejoignez-nous