Compare rows from gridview1 to gridview2

I have two gridview in a webpage, each get data from different source but they have two rows are are the same
Gridview1
Code    Boxes      
x1           100

GridView2
Code     Boxes
x1          120

Gridview updates Boxes automatically
so I want to compare this two numbers an get the results into another column on GridView2 called Difference  based on the  Code  listed on both grids. Any ideas
teogosAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

DhaestCommented:
How do you retrieve the data ? Is it in a dataset, ... ?
0
teogosAuthor Commented:
using the wizard to a SLQ connection   sqldatasource
0
DhaestCommented:
Compare 2 Gridview row values and write those who doesn't match
http://forums.asp.net/p/1236832/2247869.aspx
0
Exploring ASP.NET Core: Fundamentals

Learn to build web apps and services, IoT apps, and mobile backends by covering the fundamentals of ASP.NET Core and  exploring the core foundations for app libraries.

teogosAuthor Commented:
Looks a good sample but I can see to get where is writing the difference
0
teogosAuthor Commented:
Perhaps the question was not understood,  
Grid1
code     boxes
x1          200
x2          100

Grid2
code      boxes
x1         300
x2          150

compare grid1  on code  to grid2 and   add a column on grid2
where it will show the difference on BOXES  from grid1  to grid2  base on CODE
0
DhaestCommented:
Can you show how you bind the data, because I think you'll need some comparision on level of your datainput (sqldatasource, objectdatasource, ...)
0
DhaestCommented:
I've tested it with code below
        protected void Page_Load(object sender, EventArgs e)
        {
            DataTable dtGrid1 = new DataTable();
            dtGrid1.Columns.Add("Code", typeof(string));
            dtGrid1.Columns.Add("Boxes", typeof(int));
            DataTable dtGrid2 = new DataTable();
            dtGrid2.Columns.Add("Code", typeof(string));
            dtGrid2.Columns.Add("Boxes", typeof(int));
 
            // fill first datatable
            DataRow dr = dtGrid1.NewRow();
            dr["Code"] = "x1";
            dr["Boxes"] = 100;
            dtGrid1.Rows.Add(dr);
            dr = dtGrid1.NewRow();
            dr["Code"] = "x2";
            dr["Boxes"] = 200;
            dtGrid1.Rows.Add(dr);
 
            // fill second datatable
            dr = dtGrid2.NewRow();
            dr["Code"] = "x1";
            dr["Boxes"] = 100;
            dtGrid2.Rows.Add(dr);
            dr = dtGrid2.NewRow();
            dr["Code"] = "x2";
            dr["Boxes"] = 220;
            dtGrid2.Rows.Add(dr);
 
            GridView1.DataSource = dtGrid1;
            GridView1.DataBind();
 
            GridView2.DataSource = dtGrid2;
            GridView2.DataBind();
 
        }
 
        protected void Button1_Click(object sender, EventArgs e)
        {
            DataTable alfa = (DataTable)GridView1.DataSource;
            alfa.Columns.Add("Equal", typeof(bool));
            DataTable beta = (DataTable)GridView2.DataSource;
            foreach (DataRow x in alfa.Rows)
            {
                bool bEqual = false;
                string strFilter = "Code = '" + x["code"].ToString() + "'";
                DataRow[] filtered = beta.Select(strFilter);
                if (filtered.GetUpperBound(0) >= 0)
                {
                    DataRow dr = filtered[0];
                    if (dr["Boxes"].ToString().Trim() == x["Boxes"].ToString().Trim())
                        bEqual = true;
                }
                x["Equal"] = bEqual;
            }
            GridView1.DataSource = alfa;
            GridView1.DataBind();
        }

Open in new window

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
teogosAuthor Commented:
Sorry, took so long to get back into, but this works I just have to rearrenge the data. Thanks
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Development

From novice to tech pro — start learning today.