如何比较单个表中的两行并返回更改字段及其值 [英] How to compare two rows in a single table and return change field and its value
本文介绍了如何比较单个表中的两行并返回更改字段及其值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何比较单个表中的两行并返回更改字段及其值。
我正在使用带有linq的Asp.net。
请给我一个确切的想法我该怎么办?
How to compare two rows in a single table and return change field and its value .
I am using Asp.net with linq.
Please give me exact idea how can i do it?
推荐答案
请尝试以下示例代码并根据代码更改符合您的要求
Please try the Following Sample code and change the Code according to your requirement
protected void Page_Load(object sender, EventArgs e)
{
//GetFiles(@"C:\Working");
//BindGrid();
getChangedRecords(CreateTable());
}
public void getChangedRecords(DataTable DtInput)
{
DataTable dtTest = new DataTable("Change");
dtTest.Columns.Add("Fieldname", typeof(String));
dtTest.Columns.Add("RowNo", typeof(String));
dtTest.Columns.Add("FieldValue", typeof(String));
foreach (DataRow item in DtInput.Rows)
{
int index = DtInput.Rows.IndexOf(item);
int iCount = item.ItemArray.Count();
if (index != DtInput.Rows.Count-1)
{
for (int i = 0; i < iCount; i++)
{
if (item[i].ToString() != DtInput.Rows[index + 1][i].ToString())
{
DataRow drTest = dtTest.NewRow();
drTest["Fieldname"] = DtInput.Columns[i].Caption;
drTest["RowNo"] = index;
drTest["FieldValue"] = item[i].ToString();
dtTest.Rows.Add(drTest);
}
}
}
}
}
public DataTable CreateTable()
{
DataTable dtTest = new DataTable("Test");
dtTest.Columns.Add("Col1", typeof(int));
dtTest.Columns.Add("Col2", typeof(String));
dtTest.Columns.Add("Col3", typeof(String));
int iCount = 2;
for (int i = 0; i < iCount; i++)
{
DataRow drTest = dtTest.NewRow();
drTest["Col1"] = i;
drTest["Col2"] = "Name";
drTest["Col3"] = "Vipin" + i;
dtTest.Rows.Add(drTest);
}
return dtTest;
}
这篇关于如何比较单个表中的两行并返回更改字段及其值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文