Setting DataGridView ColumnHeader text
-
I am using the following code to import a csv file into a datagridview:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; namespace CSVImporter { public partial class Form1 : Form { public Form1() { InitializeComponent(); List<string[]> csv = parseCSV("C:\\text.csv"); DataTable newTable = new DataTable(); string[] headers = csv[0]; int counter = 0; foreach (string column in headers) { DataColumn colNewDGCol = new DataColumn(); colNewDGCol.ColumnName = "CSV" + headers[counter]; newTable.Columns.Add(colNewDGCol); newTable.Columns[counter].HeaderText = headers[counter]; counter++; } foreach (string[] row in csv) { newTable.Rows.Add(row); } dataGridView1.DataSource = newTable; } public List<string[]> parseCSV(string path) { List<string[]> parsedData = new List<string[]>(); using (StreamReader readFile = new StreamReader(path)) { string line; string[] row; while ((line = readFile.ReadLine()) != null) { row = line.Split(','); parsedData.Add(row); } } return parsedData; } } }
But the line: newTable.Columns[counter].HeaderText = headers[counter]; does not work. How can I create the appropriate column header text please? -
I am using the following code to import a csv file into a datagridview:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; namespace CSVImporter { public partial class Form1 : Form { public Form1() { InitializeComponent(); List<string[]> csv = parseCSV("C:\\text.csv"); DataTable newTable = new DataTable(); string[] headers = csv[0]; int counter = 0; foreach (string column in headers) { DataColumn colNewDGCol = new DataColumn(); colNewDGCol.ColumnName = "CSV" + headers[counter]; newTable.Columns.Add(colNewDGCol); newTable.Columns[counter].HeaderText = headers[counter]; counter++; } foreach (string[] row in csv) { newTable.Rows.Add(row); } dataGridView1.DataSource = newTable; } public List<string[]> parseCSV(string path) { List<string[]> parsedData = new List<string[]>(); using (StreamReader readFile = new StreamReader(path)) { string line; string[] row; while ((line = readFile.ReadLine()) != null) { row = line.Split(','); parsedData.Add(row); } } return parsedData; } } }
But the line: newTable.Columns[counter].HeaderText = headers[counter]; does not work. How can I create the appropriate column header text please?bonjour, tu dois faire newTable.Columns[counter].ColumnName = headers[counter]; au lieu de newTable.Columns[counter].HeaderText = headers[counter]; je l'ai testé et j'ai pu afficher les données dans grid view
-
bonjour, tu dois faire newTable.Columns[counter].ColumnName = headers[counter]; au lieu de newTable.Columns[counter].HeaderText = headers[counter]; je l'ai testé et j'ai pu afficher les données dans grid view
Beaucoup de mercis de votre aide. Beaucoup a apprécié.