ArrayList list1 = new ArrayList();
foreach (DataRow row in ds.Tables[0].Rows)
{
for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
{
list1.Add(row[i].ToString());
}
} ArrayList list2 = new ArrayList();
foreach (DataRow row in dss.Tables[0].Rows)
{
for (int i = 0; i < dss.Tables[0].Columns.Count; i++)
{
list2.Add(row[i].ToString());
}
} //ArrayList list3 = new ArrayList();
//list3.AddRange(list2);
ArrayList list3 = new ArrayList();
for (int i = 0; i < list1.Count;i++)
{
for (int j = 0; j < list2.Count; j++)
{
if (list1[i].Equals(list2[j]))
{
list3.Add(list2[j].ToString());
}
}
}
list2.Remove(list3);
foreach (DataRow row in ds.Tables[0].Rows)
{
for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
{
list1.Add(row[i].ToString());
}
} ArrayList list2 = new ArrayList();
foreach (DataRow row in dss.Tables[0].Rows)
{
for (int i = 0; i < dss.Tables[0].Columns.Count; i++)
{
list2.Add(row[i].ToString());
}
} //ArrayList list3 = new ArrayList();
//list3.AddRange(list2);
ArrayList list3 = new ArrayList();
for (int i = 0; i < list1.Count;i++)
{
for (int j = 0; j < list2.Count; j++)
{
if (list1[i].Equals(list2[j]))
{
list3.Add(list2[j].ToString());
}
}
}
list2.Remove(list3);
除非你继承那个什么比较的类来重写Equals方法。忘了,可以在MSDN找找。
我建议还是自己写个私有方法每个字段比较吧。。
ArrayList array= new ArrayList();
foreach (DataRow row in ds.Tables[0].Rows)
{
for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
{
if(!array.Contains(row[i].ToString()))
array.Add(row[i].ToString());
}
}
foreach (DataRow row in dss.Tables[0].Rows)
{
for (int i = 0; i < dss.Tables[0].Columns.Count; i++)
{
if(!array.Contains(row[i].ToString()))
{
array.Add(row[i].ToString()); }
}
}
/// <summary>
/// 返回需要唯一的字段的DT
/// </summary>
/// <param name="dt">待操作的DT</param>
/// <param name="PrimaryKeyColumns">需要保证唯一的字段(也是返回的DT中的字段)</param>
/// <returns>返回数据唯一的DT</returns>
public DataTable GetDistinctPrimaryKeyColumnTable(DataTable dt, string[] PrimaryKeyColumns)
{
DataView dv = dt.DefaultView;
dv.RowFilter = "id <>"+_id ; //加过滤条件
DataTable dtDistinct = dv.ToTable(true, PrimaryKeyColumns);
return dtDistinct;
}
/// <summary>
/// 冲突检查
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnConfictSelect_Click(object sender, EventArgs e)
{
DataSet ds = new DataSet();
BLL.BaseCase basecase = new YingKe.BLL.BaseCase();
string[] Clint = tbDelPerson.Text.Trim().Split(new char[] { ',', ',', '.', '、', ':', ':', '。', '|', '?', '?' });
for (int j = 0; j < Client.Length; j++)
{
DataSet c = basecase.GetchongwuPrivies(Clint[j]);
ds.Merge(c, true); //合并DS
}
string[] Pries = tbShakeerPerson.Text.Trim().Split(new char[] { ',', ',', '.', '、', ':', ':', '。', '|', '?', '?' });
for (int j = 0; j < Privies.Length; j++)
{
DataSet d = basecase.GetgwuPres(Pries[j]);
ds.Merge(d, true); //合并DS
}
DataTable dt = GetDistinctPrimaryKeyColumnTable(ds.Tables[0], new string[] { "ID", "yer", "Cnt", "Pries", "ModD", "BinTime", "CaeID", "CaName", "IsSte", "IsCct", "Islict", "Issh", "FiID" }); if (dt.Rows.Count != 0)
{
this.Repeater1.DataSource = dt;
this.Repeater1.DataBind();
ClientScript.RegisterStartupScript(this.GetType(), "", "<script language='javascript'>alert('在突!');</script>");
}
else
{
ClientScript.RegisterStartupScript(this.GetType(), "", "<script language='javascript'>alert('好在冲突!');</script>");
}
}
你试试contains这个方法吧
我记得这好像是用来判断集合中是否包含其值!