Compare two data table and highlight the mismatch

Posted on 2010-09-24
Last Modified: 2013-11-26

I manage compare two data table, and bind the mismatch in a griview.
How to highlight the mismatch by cell in gridview using C# .net?

Pls refer Compare Two Data Table script:

Pls help.Thks.
public DataTable CompareDataTables(DataTable first, DataTable second)


        first.TableName = "FirstTable";

        second.TableName = "SecondTable";

        //Create Empty Table

        DataTable table = new DataTable("Difference");



            //Must use a Dataset to make use of a DataRelation object

            using (DataSet ds = new DataSet())


                //Add tables

                ds.Tables.AddRange(new DataTable[] { first.Copy(), second.Copy() });

                //Get Columns for DataRelation

                DataColumn[] firstcolumns = new DataColumn[ds.Tables[0].Columns.Count];

                for (int i = 0; i < firstcolumns.Length; i++)


                    firstcolumns[i] = ds.Tables[0].Columns[i];


                DataColumn[] secondcolumns = new DataColumn[ds.Tables[1].Columns.Count];

                for (int i = 0; i < secondcolumns.Length; i++)


                    secondcolumns[i] = ds.Tables[1].Columns[i];


                //Create DataRelation

                DataRelation r = new DataRelation(string.Empty, firstcolumns, secondcolumns, false);


                //Create columns for return table

                for (int i = 0; i < first.Columns.Count; i++)


                    table.Columns.Add(first.Columns[i].ColumnName, first.Columns[i].DataType);


                //If First Row not in Second, Add to return table.


                foreach (DataRow parentrow in ds.Tables[0].Rows)


                    DataRow[] childrows = parentrow.GetChildRows(r);

                    if (childrows == null || childrows.Length == 0)

                        table.LoadDataRow(parentrow.ItemArray, true);





        catch (Exception ex)


            throw ex;


        return table;


Open in new window

Question by:silterra
  • 3
LVL 16

Expert Comment

ID: 33758194
Do these tables have parent\child relationship?

Author Comment

ID: 33759260

Author Comment

ID: 33759308
Attached data of Table A, Table B in worksheet Table A and Table B.
Worksheet Mismatch contains the mismatch data.
Table A is a base. I did comparison Table B against Table A based Step Name column in both Table A and Table B. How to highlight mismatch by cell in mismatch table?

GridView1.DataSource = CompareDataTables(Table B, Table A);
Pls help.


Accepted Solution

silterra earned 0 total points
ID: 33766414
I already find the solution.

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at
A company’s greatest vulnerability is their email. CEO fraud, ransomware and spear phishing attacks are the no1 threat to a company’s security. Cybercrime is responsible for the largest loss of money to companies today with losses projected to r…

932 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now