c#中datagridview绑定datatable
当datatable绑定后会在datagridview中增加datatable的字段,在我改变字段后相应的再后面添加一行啊!下面是我的代码,每次点击鼠标后总是在datag...
当datatable绑定后会在datagridview中增加datatable的字段,在我改变字段后相应的再后面添加一行啊!下面是我的代码,每次点击鼠标后总是在datagridview原行字段中改变一个值,而不是重新生成一行,请各位大侠指教一下!
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text== "" || textBox5.Text== "" || textBox6.Text =="" || textBox8.Text == "")
{
MessageBox.Show("炮孔号、孔口坐标、样品品味不能为空!", "提示", MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
else
{
DataTable pk = new DataTable();
pk.Columns.Add("炮孔号");
pk.Columns.Add("炮孔深度");
pk.Columns.Add("炮孔直径");
pk.Columns.Add("炮孔倾角");
pk.Columns.Add("孔口坐标X");
pk.Columns.Add("孔口坐标Y");
pk.Columns.Add("孔口坐标Z");
pk.Columns.Add("样品品味");
string t1 = textBox1.Text;
string t2 = textBox2.Text;
string t3 = textBox3.Text;
string t4 = textBox4.Text;
string t5 = textBox5.Text;
string t6 = textBox6.Text;
string t7 = textBox7.Text;
string t8 = textBox8.Text;
DataRow dr;
dr = pk.NewRow();
dr["炮孔号"] = t1;
dr["炮孔深度"] = t2;
dr["炮孔直径"] = t3;
dr["炮孔倾角"] = t4;
dr["孔口坐标X"] = t5;
dr["孔口坐标Y"] = t6;
dr["孔口坐标Z"] = t7;
dr["样品品味"] = t8;
pk.Rows.Add(dr);
dataGridView1.DataSource = pk;
}
} 展开
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text== "" || textBox5.Text== "" || textBox6.Text =="" || textBox8.Text == "")
{
MessageBox.Show("炮孔号、孔口坐标、样品品味不能为空!", "提示", MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
else
{
DataTable pk = new DataTable();
pk.Columns.Add("炮孔号");
pk.Columns.Add("炮孔深度");
pk.Columns.Add("炮孔直径");
pk.Columns.Add("炮孔倾角");
pk.Columns.Add("孔口坐标X");
pk.Columns.Add("孔口坐标Y");
pk.Columns.Add("孔口坐标Z");
pk.Columns.Add("样品品味");
string t1 = textBox1.Text;
string t2 = textBox2.Text;
string t3 = textBox3.Text;
string t4 = textBox4.Text;
string t5 = textBox5.Text;
string t6 = textBox6.Text;
string t7 = textBox7.Text;
string t8 = textBox8.Text;
DataRow dr;
dr = pk.NewRow();
dr["炮孔号"] = t1;
dr["炮孔深度"] = t2;
dr["炮孔直径"] = t3;
dr["炮孔倾角"] = t4;
dr["孔口坐标X"] = t5;
dr["孔口坐标Y"] = t6;
dr["孔口坐标Z"] = t7;
dr["样品品味"] = t8;
pk.Rows.Add(dr);
dataGridView1.DataSource = pk;
}
} 展开
1个回答
展开全部
那是当然,你每次点击按钮后,都重新生成一个全新的DataTable,并且只插入一条数据,当然就会出现你的问题了
修改一下:
DataTable pk;
if(dataGridView1.DataSource!= null){
pk = dataGridView1.DataSource as DataTable;
}
if(pk == null){
pk = new DataTable();
pk.Columns.Add("炮孔号");
pk.Columns.Add("炮孔深度");
pk.Columns.Add("炮孔直径");
pk.Columns.Add("炮孔倾角");
pk.Columns.Add("孔口坐标X");
pk.Columns.Add("孔口坐标Y");
pk.Columns.Add("孔口坐标Z");
pk.Columns.Add("样品品味");
}
string t1 = textBox1.Text;
string t2 = textBox2.Text;
string t3 = textBox3.Text;
string t4 = textBox4.Text;
string t5 = textBox5.Text;
string t6 = textBox6.Text;
string t7 = textBox7.Text;
string t8 = textBox8.Text;
DataRow dr;
dr = pk.NewRow();
dr["炮孔号"] = t1;
dr["炮孔深度"] = t2;
dr["炮孔直径"] = t3;
dr["炮孔倾角"] = t4;
dr["孔口坐标X"] = t5;
dr["孔口坐标Y"] = t6;
dr["孔口坐标Z"] = t7;
dr["样品品味"] = t8;
pk.Rows.Add(dr);
dataGridView1.DataSource = pk;
修改一下:
DataTable pk;
if(dataGridView1.DataSource!= null){
pk = dataGridView1.DataSource as DataTable;
}
if(pk == null){
pk = new DataTable();
pk.Columns.Add("炮孔号");
pk.Columns.Add("炮孔深度");
pk.Columns.Add("炮孔直径");
pk.Columns.Add("炮孔倾角");
pk.Columns.Add("孔口坐标X");
pk.Columns.Add("孔口坐标Y");
pk.Columns.Add("孔口坐标Z");
pk.Columns.Add("样品品味");
}
string t1 = textBox1.Text;
string t2 = textBox2.Text;
string t3 = textBox3.Text;
string t4 = textBox4.Text;
string t5 = textBox5.Text;
string t6 = textBox6.Text;
string t7 = textBox7.Text;
string t8 = textBox8.Text;
DataRow dr;
dr = pk.NewRow();
dr["炮孔号"] = t1;
dr["炮孔深度"] = t2;
dr["炮孔直径"] = t3;
dr["炮孔倾角"] = t4;
dr["孔口坐标X"] = t5;
dr["孔口坐标Y"] = t6;
dr["孔口坐标Z"] = t7;
dr["样品品味"] = t8;
pk.Rows.Add(dr);
dataGridView1.DataSource = pk;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |