datagridview 数据显示的问题
我在datagridview 中做了一个查询数据的功能 用他来显示出来 但每次查询都会在原来哪一行中增加一行 如图片所示 代码如下
//绑定数据的方法
private void GetDB(string str)
{
//SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=StuManage;Integrated Security=True");
//con.Open();
//SqlDataAdapter sdr = new SqlDataAdapter();
//SqlCommand cmd = new SqlCommand(str, con);
//sdr.SelectCommand = cmd;
//DataSet ds = new DataSet();
con = new SqlConnection("Data Source=.;Initial Catalog=StuManage;Integrated Security=True");
con.Open();
sdr = new SqlDataAdapter();
sdb = new SqlCommandBuilder(sdr);
cmd = new SqlCommand(str,con);
sdr.SelectCommand = cmd;
ds = new DataSet();
sdr.Fill(ds);
//向gridview中添加列
DataGridViewTextBoxColumn col_txb_Id = new DataGridViewTextBoxColumn();
col_txb_Id.HeaderText = "课程编号";
col_txb_Id.DataPropertyName = "cno";
dataGridView1.Columns.Add(col_txb_Id);
DataGridViewTextBoxColumn col_txb_Name = new DataGridViewTextBoxColumn();
col_txb_Name.HeaderText = "课程名";
col_txb_Name.DataPropertyName = "cname";
dataGridView1.Columns.Add(col_txb_Name);
DataGridViewTextBoxColumn col_txb_Score = new DataGridViewTextBoxColumn();
col_txb_Score.HeaderText = "课程学分";
col_txb_Score.DataPropertyName = "ccredit";
dataGridView1.Columns.Add(col_txb_Score);
DataGridViewButtonColumn col_btn_state = new DataGridViewButtonColumn();
col_btn_state.HeaderText = "删除";
col_btn_state.Text = "删除";
col_btn_state.UseColumnTextForButtonValue = true;
dataGridView1.Columns.Add(col_btn_state);
DataGridViewButtonColumn col_btn_update = new DataGridViewButtonColumn();
col_btn_update.HeaderText = "修改";
col_btn_update.Text = "修改";
col_btn_update.UseColumnTextForButtonValue = true;
dataGridView1.Columns.Add(col_btn_update);
DataGridViewButtonColumn col_btn_insert = new DataGridViewButtonColumn();
col_btn_insert.HeaderText = "增加";
col_btn_insert.Text = "增加";
col_btn_insert.UseColumnTextForButtonValue = true;
dataGridView1.Columns.Add(col_btn_insert);
this.dataGridView1.DataSource = ds.Tables[0];
con.Close();
}
//查询功能代码
private void button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=StuManage;Integrated Security=True");
con.Open();
if(comboBox1.Text=="课程名")
{
string str = "select * from tb_course where cname='" + textBox1.Text.Trim() + "'";
GetDB(str);
}
if (comboBox1.Text == "课程编号")
{
string str="select * from tb_course where cno='" + textBox1.Text.Trim() + "'";
GetDB(str);
}
if(comboBox1.Text=="" || textBox1.Text=="")
{
MessageBox.Show("请选择查询的方式并且在输入框中输入相应的查询信息","查询提示");
return;
}
}
能不能告诉我是什么原因 或是否可以设置datagridview的属性 让数据正常显示 而不是像图片中显示那样
[解决办法]
dataGridView1.AllowUserToAddRows = false;
[解决办法]
设置DataGridView的AllowUserToAddRows属性啊
[解决办法]
如果DataSource为BindingSource等,将AllowNew设置为false
[解决办法]
这....非要把BUTTON放DATAGRIDVEIW里吗?如果只是为了增删改,何不直接放三个BT在旁边?