Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Compare two data table and highlight the mismatch

Posted on 2010-09-24
4
Medium Priority
?
2,454 Views
Last Modified: 2013-11-26
Hi,

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");

        try
        {
            //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);

                ds.Relations.Add(r);

                //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.
                table.BeginLoadData();

                foreach (DataRow parentrow in ds.Tables[0].Rows)
                {
                    DataRow[] childrows = parentrow.GetChildRows(r);
                    if (childrows == null || childrows.Length == 0)
                        table.LoadDataRow(parentrow.ItemArray, true);
                }

                table.EndLoadData();

            }
        }
        catch (Exception ex)
        {
            throw ex;
        }

        return table;
    }

Open in new window

0
Comment
Question by:silterra
  • 3
4 Comments
 
LVL 16

Expert Comment

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

Author Comment

by:silterra
ID: 33759260
Hi,
No.
0
 

Author Comment

by:silterra
ID: 33759308
hi,
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);
GridView1.DataBind();
Pls help.

ST02-000001-ex.xls
0
 

Accepted Solution

by:
silterra earned 0 total points
ID: 33766414
hi,
I already find the solution.
Thks.
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

Question has a verified solution.

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

Problem Hi all,    While many today have fast Internet connection, there are many still who do not, or are connecting through devices with a slower connect, so light web pages and fast load times are still popular.    If your ASP.NET page …
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!
This lesson discusses how to use a Mainform + Subforms in Microsoft Access to find and enter data for payments on orders. The sample data comes from a custom shop that builds and sells movable storage structures that are delivered to your property. …
Screencast - Getting to Know the Pipeline
Suggested Courses

963 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