如何将DataTable进行select后的内容赋到新的DataTable中?

pbooter 2004-05-06 11:21:30
我对DataTable tbl_1;进行Select出一些数据,我要将这些数据 写入 DataTable tbl_2中,请问如何实现? 谢谢
当tbl_1与tbl_2列数相同时,如何实现?
当结构不同时,如下,如何实现?
tbl_1 结构为三列: id aa bb
tbl_2 结构为二列: aa bb
...全文
217 6 点赞 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
shenen 2004-05-07
private void Button1_Click(object sender, System.EventArgs e)
{
DataTable tblOld=(DataTable)Session["Table"];
DataTable tblNew=new DataTable();
int intI;
DataRow rowNew,rowTemp;
tblNew.Columns.Add("val");
tblNew.Columns.Add("dd");
object[] arrTest = new object[2];
for(intI=0;intI<tblOld.Rows.Count;intI++)
{
rowTemp=tblOld.Rows[intI];
rowNew=tblNew.NewRow();
arrTest[0]=rowTemp.ItemArray[1];
arrTest[1]=rowTemp.ItemArray[2];
rowNew.ItemArray=arrTest;
tblNew.Rows.Add(rowNew);
}
DataGrid1.DataSource=tblNew.DefaultView;
DataGrid1.DataBind();
}

private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
string strCn="Data Source=.;uid=develop;pwd=12345;Initial Catalog=new_ks";
string strSQL=" SELECT id,val,dd "
+" FROM dbo.tabA ";
SqlDataAdapter sadTest=new SqlDataAdapter(strSQL,strCn);
DataSet dsTest=new DataSet();
sadTest.Fill(dsTest);
Session["Table"]=dsTest.Tables[0];
DataGrid1.DataSource=dsTest.Tables[0].DefaultView;
DataGrid1.DataBind();
}
}
  • 打赏
  • 举报
回复
shenen 2004-05-07
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Page.IsPostBack Then
Dim strCn As String = "Data Source=.;uid=develop;pwd=12345;Initial Catalog=new_ks"
Dim strSQL As String = " SELECT id,val,dd " & _
" FROM dbo.tabA "
Dim sadTest As New SqlDataAdapter(strSQL, strCn)
Dim dsTest As New DataSet
sadTest.Fill(dsTest)
Session("Table") = dsTest.Tables(0)
DataGrid1.DataSource = dsTest.Tables(0).DefaultView
DataGrid1.DataBind()
End If
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim tblOld As DataTable = CType(Session("Table"), DataTable)
Dim tblNew As New DataTable
Dim intI As Integer
Dim rowNew, rowTemp As DataRow

tblNew.Columns.Add("val")
tblNew.Columns.Add("dd")
For intI = 0 To tblOld.Rows.Count - 1
rowTemp = tblOld.Rows(intI)
rowNew = tblNew.NewRow()
rowNew.Item(0) = rowTemp.Item(1)
rowNew.Item(1) = rowTemp.Item(2)
tblNew.Rows.Add(rowNew)
Next
DataGrid1.DataSource = tblNew.DefaultView
DataGrid1.DataBind()
End Sub
  • 打赏
  • 举报
回复
pbooter 2004-05-07
楼上的 我说的不是这个意思 我是说 在程序中如何对datatable互操作,不是datagrid的事 谢谢回答
  • 打赏
  • 举报
回复
ztx998 2004-05-07
private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e)
{
int id=DataGrid1.SelectedIndex;
Session["strbm"]=DataGrid1.Items[id].Cells[1].Text.ToString();
//这样就可以取出选中行中的每一列的值,然后再更新到另一个表中就可以了
………………………………
}

前提是有一个选择列
  • 打赏
  • 举报
回复
vzxq 2004-05-07
帮你UP,大不了写两个select 语句吧。
  • 打赏
  • 举报
回复
smx717616 2004-05-07
不才,你说的我不会 。
不过可以把列隐藏哦!
  • 打赏
  • 举报
回复
相关推荐
发帖
.NET社区
加入

5.9w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2004-05-06 11:21
社区公告
暂无公告