Datagridview 添加数据真的难吗?高手帮忙看下100分回报!!!
1、Datagridview1已读取Datagridview1数据:
Strsql=” select '1062','印刷前裱咭','0'
union select '1065','印刷前过油','0'
union select '3045','外发/外购','2'
union select '3050','磨光','2'
union select '3080','闪粉','2'
union select '3090','压纹','2'
union select '3110','植绒','2'
union select '3120','击凹凸','2'
union select '3230','快递信封粘胶成型','2'
加到已有部分数据的Datagridview2后面加上面的数据
Datagridview2原有的数据是:
select '3240','机器粘边','2'
union select '3250','机器粘盒','2'
union select '3260','机器折页','2'
union select '3270','骑钉','2'
union select '3350','内盒成型','2'
union select '3360','外盒成型','2'
union select '3370','手工扪内盒','2'”
请大侠帮帮啊,我是新手,万分感谢!
Datagridview 添加数据 --------------------编程问答-------------------- 你可以把两条sql 语句连接起来查询,然后再重新给Datagridview2绑定数据
如果你用List<T>,那么它有一个.Add属性,你可以通过foreach循环一条一条添加,再绑定
--------------------编程问答-------------------- 简单点可以这样
dt1 = this.dataGridView1.DataSource as DataTable;
dt2 = this.dataGridView2.DataSource as DataTable;
dt2.Merge(dt1);
也可以这样
dt1 = this.dataGridView1.DataSource as DataTable;
dt2 = this.dataGridView2.DataSource as DataTable;
dt3 = dt1.AsEnumerable().Union(dt2.AsEnumerable()).ToArray().CopyToDataTable();
this.dataGridView2.DataSource = dt3;
this.button1.Enabled = false;
完整代码例子
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
private DataTable dt1 = new DataTable();
private DataTable dt2 = new DataTable();
private DataTable dt3 = new DataTable();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
dt1.Columns.Add(new DataColumn("TYPE_ID"));
dt1.Columns.Add(new DataColumn("QUES_TYPE"));
dt1.Rows.Add(new Object[] { "00001", "计算机类" });
dt1.Rows.Add(new Object[] { "00002", "电子类" });
dt1.Rows.Add(new Object[] { "00003", "农学类" });
this.dataGridView1.DataSource = dt1;
dt2.Columns.Add(new DataColumn("TYPE_ID"));
dt2.Columns.Add(new DataColumn("QUES_TYPE"));
dt2.Rows.Add(new Object[] { "00004", "言情类" });
dt2.Rows.Add(new Object[] { "00005", "喜剧类" });
dt2.Rows.Add(new Object[] { "00006", "恐怖类" });
this.dataGridView2.DataSource = dt2;
}
private void button1_Click(object sender, EventArgs e)
{
dt1 = this.dataGridView1.DataSource as DataTable;
dt2 = this.dataGridView2.DataSource as DataTable;
//dt2.Merge(dt1);
dt3 = dt1.AsEnumerable().Union(dt2.AsEnumerable()).ToArray().CopyToDataTable();
this.dataGridView2.DataSource = dt3;
this.button1.Enabled = false;
}
}
}
窗体上两个dataGridView,一个button --------------------编程问答-------------------- DataTable.Merge 方法 (DataTable) --------------------编程问答-------------------- 是vb.net winform
上述问题如何处理,谢谢! --------------------编程问答--------------------
--------------------编程问答-------------------- 除 --------------------编程问答-------------------- 你的 Datagridview2 已经绑定了一个table,那样是不能添加行的
If dt.Rows.Count = 0 Then
MessageBox.Show("无查询记录", "提示")
Else
For i As Integer = 0 To dt.Rows.Count - 1
Me.DataGridView1.Rows.Add()
For j As Integer = 0 To dt.Columns.Count - 1
Me.DataGridView1.Rows(i).Cells(j).Value = dt.Rows(i).Item(j).ToString
Next
Next
End If
你应该在table那里改,在table那里添加new row,row要符合table的格式,然后往里面写数据
二楼的代码可以用C#转VB 学着更改
http://www.developerfusion.com/tools/convert/csharp-to-vb/ --------------------编程问答-------------------- --------------------编程问答-------------------- Chinajiyong 已经给你方案了,不对么?把你两个数据表合成一个表在绑定数据源啊!第二种不可以直接绑,那你就循环赋值呗!
补充:.NET技术 , VB.NET