解决方案 »
- 读取文本转换问题。
- Response.Redirect("Login.aspx") 怎么使其在最顶层转换?
- GridView中head的字体大小改变了?
- 请问高人,发邮件的附件名在哪设置,我这样发出去,Jmail收邮件时中文附件名是乱码
- 如何启动WEB服务器
- 昨天通过了创维的asp.net面试散点分
- datagrid内容保存为excel和word时出现乱码问题
- sos!新建ASP.NET WEB 服务问题
- Datagrid的DataKeyField索引越界,why? (*****出手从来100分****)
- |M| CSDN新版的功能中的JS实现 一个是列表中的鼠标的淡入淡出 一个是给分时的那个DIV的显示和隐藏的淡入淡出 麻烦大家给个源码 谢谢
- 错误事件ID: 3005
- Repeater循环出来的每个数据后面加一个顿号,最后一个数据不加顿号。
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div id="divParent">
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table style="width: 100%;">
<tr>
<td>
Keywords
</td>
<td>
ArticleId
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<%# Eval("Keywords")%>
</td>
<td>
<%# Eval("ArticleId")%>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
======================================================================
<asp:Repeater ID="Repeater2" runat="server">
<HeaderTemplate>
<table style="width: 100%;">
<tr>
<td>
Keywords
</td>
<td>
ArticleId
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<%# Eval("Keywords")%>
</td>
<td>
<%# Eval("ArticleId")%>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</div>
</form>
</body>
</html>
CS代码如下DataTable TableA = new DataTable();
TableA.Columns.Add("Keywords");
TableA.Columns.Add("ArticleId");
object[] obj1 = new object[] {"hello1","world1" };
object[] obj2 = new object[] { "hello2", "world2" };
object[] obj3 = new object[] { "hello3", "world3" };
object[] obj4 = new object[] { "hello4", "world4" };
object[] obj5 = new object[] { "hello5", "world4" };
object[] obj6 = new object[] { "hello6", "world4" };
TableA.Rows.Add(obj1);
TableA.Rows.Add(obj2);
TableA.Rows.Add(obj3);
TableA.Rows.Add(obj4); DataTable TableB = new DataTable();
TableB.Columns.Add("Keywords");
TableB.Columns.Add("ArticleId");
TableB.Rows.Add(obj1);
TableB.Rows.Add(obj2);
TableB.Rows.Add(obj5);
TableB.Rows.Add(obj6); ArrayList list = new ArrayList(); foreach (DataRow drA in TableA.Rows)
{
foreach (DataRow drB in TableB.Rows)
{
if ((drA.ItemArray[0].ToString() == drB.ItemArray[0].ToString()) &&
(drA.ItemArray[1].ToString() == drB.ItemArray[1].ToString())
)
{
list.Add(drB);
}
}
}
for (int i = 0; i < list.Count; i++)
{
DataRow drCu = (DataRow)list[i];
TableB.Rows.Remove(drCu);
}
Repeater1.DataSource = TableA;
Repeater1.DataBind(); Repeater2.DataSource = TableB;
Repeater2.DataBind();
DataTable dtA = new DataTable();
DataTable dtB = new DataTable();
dtA.Merge(dtB);
var rows = dtA.Select(null, null, DataViewRowState.Added);//此处就是B中有,A中没有的数据,不过这种判定是以唯一id为标志滴
DataTable dtB = new DataTable();
var rows= dtA.AsEnumerable().Where(c => !dtB.AsEnumerable().Contains(c));大体上如此,根据需要自己改改就成
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;public partial class TwoDataTable : System.Web.UI.Page
{
private DataTable dTA;
public DataTable DTA
{
get { return dTA; }
set { dTA = value; }
} private DataTable dTB;
public DataTable DTB
{
get { return dTB; }
set { dTB = value; }
} protected void Page_Load(object sender, EventArgs e)
{
DTA = new DataTable("cart");
DataColumn dc1 = new DataColumn("KeyWords", Type.GetType("System.String"));
DataColumn dc2 = new DataColumn("ArticleId", Type.GetType("System.Int32"));
DTA.Columns.Add(dc1);
DTA.Columns.Add(dc2);
//以上代码完成了DataTable的构架,但是里面是没有任何数据的
DataRow dr = DTA.NewRow();
dr["KeyWords"] = "东风";
dr["ArticleId"] = "1";
DTA.Rows.Add(dr);
dr = DTA.NewRow();
dr["KeyWords"] = "联合卡车";
dr["ArticleId"] = "2";
DTA.Rows.Add(dr);
dr = DTA.NewRow();
dr["KeyWords"] = "皮卡";
dr["ArticleId"] = "3";
DTA.Rows.Add(dr);
dr = DTA.NewRow();
dr["KeyWords"] = "商用车";
dr["ArticleId"] = "4";
DTA.Rows.Add(dr); DTB = new DataTable("cart");
DataColumn dc3 = new DataColumn("KeyWords", Type.GetType("System.String"));
DataColumn dc4=new DataColumn ("ArticleId",Type.GetType("System.Int32"));
DTB.Columns.Add(dc3);
DTB.Columns.Add(dc4);
//以上代码完成了DataTable的构架,但是里面是没有任何数据的
DataRow drr = DTB.NewRow();
drr["KeyWords"] = "重卡";
drr["ArticleId"] = "100";
DTB.Rows.Add(drr);
drr = DTB.NewRow();
drr["KeyWords"] = "联合卡车";
drr["ArticleId"] = "20";
DTB.Rows.Add(drr);
drr = DTB.NewRow();
drr["KeyWords"] = "皮卡";
drr["ArticleId"] = "3";
DTB.Rows.Add(drr);
drr = DTB.NewRow();
drr["KeyWords"] = "商用车";
drr["ArticleId"] = "4";
DTB.Rows.Add(drr); string dtaRowIndex = "";
for (int i = 0; i < DTA.Rows.Count; i++)
{
DataRow dtaRow = DTA.Rows[i];
for (int j = 0; j < DTB.Rows.Count; j++)
{
DataRow dtbRow = DTB.Rows[j];
if (dtaRow["KeyWords"].ToString().Equals(dtbRow["KeyWords"].ToString()) && Convert.ToInt32(dtaRow["ArticleId"]) == Convert.ToInt32(dtbRow["ArticleId"]))
{
dtaRowIndex += i + ",";
DTB.Rows.Remove(dtbRow);
break;
}
}
}
string[] dtaRowsIndex =dtaRowIndex.Trim().Split(',');
for (int i = dtaRowsIndex.Length-1; i >=0; i--)
{
if (dtaRowsIndex[i].Trim() != "")
{
DTA.Rows.Remove(DTA.Rows[Convert.ToInt32(dtaRowsIndex[i])]);
}
}
//foreach (string s in dtaRowsIndex)
//{
// if (s.Trim() != "")
// {
// DTA.Rows.Remove(DTA.Rows[Convert.ToInt32(s)]);
// }
//}
} public static int StrToInt(string str)
{
return int.Parse(str);
}
}
_Table1.Columns.Add("A"); DataTable _Table2 = new DataTable("A2");
_Table2.Columns.Add("B"); for (int i = 0; i != 1000; i++)
{
if (i <= 200) _Table2.Rows.Add(new object[] { i });
_Table1.Rows.Add(new object[] { i });
} _Table2.PrimaryKey = new DataColumn[] { _Table2.Columns[0] };
_Table1.PrimaryKey = new DataColumn[] { _Table1.Columns[0] };
DataSet _Set = new DataSet();
_Set.Tables.Add(_Table1);
_Set.Tables.Add(_Table2);
_Table1.ChildRelations.Add("a", _Table1.Columns[0], _Table2.Columns[0]);
DataTable _NewTable = new DataTable();
for (int i = 0; i != _Table1.Rows.Count; i++)
{
if (_Table1.Rows[i].GetChildRows("a").Length == 0)
{
_NewTable.ImportRow(_Table1.Rows[i]);
}
}或
DataTable dt1 = new DataTable();
DataTable dt2 = new DataTable(); var dt3 = from r in dt1.AsEnumerable()
where !(
from rr in dt2.AsEnumerable()
select rr.Field<int>("Id")
).Contains(r.Field<int>("Id"))
select r;