我有一个有28列的数据库。第一列是代码,第二列是名称,其余是值。
public void displayData()
{
con.Open();
MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM gehaltes", con);
DataTable dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
dataGridView1.AutoResizeColumn(DataGridViewAutoSizeColumnsMode.DisplayedCells);
con.Close();
}
通过程序的这一部分,我可以看到数据网格视图中的所有列。我只想要前 2 列,但如果我想进行更改,我必须使用所有 28 列。
您可以设置各个列的可见属性:
DataGridView dgv;
// ...
foreach(DataGridViewColumn c in dgv.Columns)
c.Visible = c.Name == "code" || c.Name == "Name";
将 DataGridView 的 AutoGenerateColumns
属性设置为 false,并添加两列,其属性DataPropertyName
引用要显示的名称。
例:
da.Fill(dt);
dataGridView1.AutoGenerateColumns = false;
DataGridViewColumn col = new DataGridViewColumn();
col.Name = "name";
col.HeaderText = "header";
col.DataPropertyName = "yourDBField";
dataGridView1.Columns.Add(col);
dataGridView1.DataSource = dt;
dataGridView1.AutoResizeColumn(DataGridViewAutoSizeColumnsMode.DisplayedCells);