我有一个包含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();
}
通过这部分程序,我可以看到datagridview中的所有列。我只想要前两个,但如果我想进行更改,我必须使用所有28列。
答案 0 :(得分:1)
将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);
答案 1 :(得分:1)
您可以设置各列的可见属性:
DataGridView dgv;
// ...
foreach(DataGridViewColumn c in dgv.Columns)
c.Visible = c.Name == "code" || c.Name == "Name";