Meilleur auteur de réponses
gridview asp.net transposé

Question
-
bonjour à tous,
je voudrais mettre les données de mon gridview en transposé, par exemple transformer le gridview suivant :
champ1 champ2
donnee1 donnee2
en résultat suivant :
champ1 donnee1
champ2 donnee2
en fait j'ai réussi à faire ceci en utilisant le code suivant :
private DataTable GenerateTransposedTable(DataTable inputTable) { DataTable outputTable = new DataTable(); // Add columns by looping rows // Header row's first column is same as in inputTable outputTable.Columns.Add(inputTable.Columns[0].ColumnName.ToString()); // Header row's second column onwards, 'inputTable's first column taken foreach (DataRow inRow in inputTable.Rows) { string newColName = inRow[0].ToString(); outputTable.Columns.Add(newColName); } // Add rows by looping columns for (int rCount = 1; rCount <= inputTable.Columns.Count - 1; rCount++) { DataRow newRow = outputTable.NewRow(); // First column is inputTable's Header row's second column newRow[0] = inputTable.Columns[rCount].ColumnName.ToString(); for (int cCount = 0; cCount <= inputTable.Rows.Count - 1; cCount++) { string colValue = inputTable.Rows[cCount][rCount].ToString(); newRow[cCount + 1] = colValue; } outputTable.Rows.Add(newRow); } return outputTable; }
par contre l’aspect graphique du gridview généré est conforme au gridview standard, c'est à dire :
champ1 donnee1
champ2 donnee2
par contre ce que je veux c'est le résultat suivant :
champ1 donnee1
champ2 donnee2
Merci d'avance pour votre aide.
Réponses
-
Un extrait de code permet de colorer et mettre en gras les cellules de colonne à gauche (key=0)
cordialement.protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) {
e.Row.Cells[0].Font.Bold = true; //mettre en gras e.Row.Cells[0].ForeColor = System.Drawing.Color.Red;// colorer en rouge } }
Sami CHNITER Software Engineer
- Modifié Sami CHNITER mardi 19 mars 2013 12:45
- Marqué comme réponse scania113 mardi 19 mars 2013 16:14
Toutes les réponses
-
Bonjour,
Bon, pour se faire il y a un petit tutoriel décrit bien comment procéder:
Cependant, vous pouvez jouer sur l'aspect graphique comme vous voulez (griser une cellule, mettre en gras une cellule, cacher le Header ...), ou bien une autre méthode se base sur deux GridViews dont l'une est invisible...Cordialement.
Sami CHNITER Software Engineer
- Modifié Sami CHNITER mardi 19 mars 2013 11:10
- Proposé comme réponse Sami CHNITER mardi 19 mars 2013 16:41
-
-
Un extrait de code permet de colorer et mettre en gras les cellules de colonne à gauche (key=0)
cordialement.protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) {
e.Row.Cells[0].Font.Bold = true; //mettre en gras e.Row.Cells[0].ForeColor = System.Drawing.Color.Red;// colorer en rouge } }
Sami CHNITER Software Engineer
- Modifié Sami CHNITER mardi 19 mars 2013 12:45
- Marqué comme réponse scania113 mardi 19 mars 2013 16:14
-