private void btn_select_Click(object sender, EventArgs e)
{
if (dataGridView.DataSource != null)
{
dataGridView.DataSource = null;
} if (cmb_selectType.Text == "系别")
{
if (cbx_allInfomation.Checked == true)
{
dataGridView.DataSource = BussinessFacade.Customers.cus.GetTable("Tbl_Department");
dataGridView.Columns[1].HeaderText = "系别ID";
dataGridView.Columns[2].HeaderText = "系别名称";
}
}
else
{
dataGridView.AutoGenerateColumns = false;
DataGridViewTextBoxColumn txt_ID = new DataGridViewTextBoxColumn();
txt_ID.HeaderText = "班级ID";
txt_ID.DataPropertyName = "Class_ID"; DataGridViewComboBoxColumn cmb_Department = new DataGridViewComboBoxColumn();
cmb_Department.HeaderText = "所属系别";
cmb_Department.DataSource = BussinessFacade.Customers.cus.GetTable("Tbl_Department");
cmb_Department.DataPropertyName = "Dpm_ID";
cmb_Department.DisplayMember = "Dpm_Name";
cmb_Department.ValueMember = "Dpm_ID"; DataGridViewTextBoxColumn txt_Name = new DataGridViewTextBoxColumn();
txt_Name.HeaderText = "班级名称";
txt_Name.DataPropertyName = "Class_Name"; DataGridViewTextBoxColumn txt_Member = new DataGridViewTextBoxColumn();
txt_Member.HeaderText = "班级人数";
txt_Member.DataPropertyName = "Class_Member"; dataGridView.Columns.Add(txt_ID);
dataGridView.Columns.Add(cmb_Department);
dataGridView.Columns.Add(txt_Name);
dataGridView.Columns.Add(txt_Member);
if (cbx_allInfomation.Checked == true)
{
dataGridView.DataSource = BussinessFacade.Customers.cus.GetTable("Tbl_Class");
}
}
}
如上代码 我每次单击BUTTON 如果datagridview数据源不为NULL 都付值为NULL
可是datagridview的数据任然存在 例如 我第一次单击datagridview显示了8列 我第二次的单击时他又帮我在原来的
基础上加上了8列 变成16列 。
有什么办法可以取去除上一次的数据列?
{
if (dataGridView.DataSource != null)
{
dataGridView.DataSource = null;
} if (cmb_selectType.Text == "系别")
{
if (cbx_allInfomation.Checked == true)
{
dataGridView.DataSource = BussinessFacade.Customers.cus.GetTable("Tbl_Department");
dataGridView.Columns[1].HeaderText = "系别ID";
dataGridView.Columns[2].HeaderText = "系别名称";
}
}
else
{
dataGridView.AutoGenerateColumns = false;
DataGridViewTextBoxColumn txt_ID = new DataGridViewTextBoxColumn();
txt_ID.HeaderText = "班级ID";
txt_ID.DataPropertyName = "Class_ID"; DataGridViewComboBoxColumn cmb_Department = new DataGridViewComboBoxColumn();
cmb_Department.HeaderText = "所属系别";
cmb_Department.DataSource = BussinessFacade.Customers.cus.GetTable("Tbl_Department");
cmb_Department.DataPropertyName = "Dpm_ID";
cmb_Department.DisplayMember = "Dpm_Name";
cmb_Department.ValueMember = "Dpm_ID"; DataGridViewTextBoxColumn txt_Name = new DataGridViewTextBoxColumn();
txt_Name.HeaderText = "班级名称";
txt_Name.DataPropertyName = "Class_Name"; DataGridViewTextBoxColumn txt_Member = new DataGridViewTextBoxColumn();
txt_Member.HeaderText = "班级人数";
txt_Member.DataPropertyName = "Class_Member"; dataGridView.Columns.Add(txt_ID);
dataGridView.Columns.Add(cmb_Department);
dataGridView.Columns.Add(txt_Name);
dataGridView.Columns.Add(txt_Member);
if (cbx_allInfomation.Checked == true)
{
dataGridView.DataSource = BussinessFacade.Customers.cus.GetTable("Tbl_Class");
}
}
}
如上代码 我每次单击BUTTON 如果datagridview数据源不为NULL 都付值为NULL
可是datagridview的数据任然存在 例如 我第一次单击datagridview显示了8列 我第二次的单击时他又帮我在原来的
基础上加上了8列 变成16列 。
有什么办法可以取去除上一次的数据列?
解决方案 »
- dropdownlist autopoastback
- 紧急求助,数组问题。
- 请教如何在GridView中打开office文件,谢谢各位了,没分
- 在C#中现有一DataTable(单条记录),怎么按照这个表的结构和数据生成一个*.dbf文件?
- 对于C#就采用何用编程规范,请大家指教,谢谢
- 怎么样设置DataGrid中指定行和列的值????
- 一个关于字符串长度的问题!!
- 导入excel 在 System.FormatException 中第一次偶然出现的“mscorlib.dll”类型的异常
- C#中,子类怎么初始化父类的readonly属性?
- 大家好:请问在C#中如何写一个最简单的控件(包括如何安装),还可以加分(要多少可以说(10-100))
- wss v3 with sp1安装不上
- c#, datagridview, 数据绑定之后,行数据复制的问题
放在最前面看看
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/
也就是说,你每点击一次按钮: dataGridView.Columns.Add(txt_ID);
dataGridView.Columns.Add(cmb_Department);
dataGridView.Columns.Add(txt_Name);
dataGridView.Columns.Add(txt_Member);
就执行一次,应该加个判断,只在第一次时添加,活着按楼上说的你可以判断dataGridView.Columns.Count再加
那有清除 DataGridViewTextBoxColumn 的方法吗?