多表查询应用于Datatable

  this.dataGridView1.Columns.Clear();

 

                    dt = myUser.m_SelectAll(this.dtpStartDate.Text, this.dtpStopDate.Text);//查出所有坐席账号

 

                    dcFrist_name.ColumnName = "姓名";

 

                    dcUser_name.ColumnName = "坐席员工号";

 

                    dcNews.ColumnName = "新闻总数";

 

                    dcComplaints.ColumnName = "投诉总数";

 

                    dcNewBack.ColumnName = "报道回音总数";

 

                    dcCount.ColumnName = "总数";

 

                    dtt.Columns.Add(dcUser_name);

 

                    dtt.Columns.Add(dcFrist_name);

 

                    dtt.Columns.Add(dcNews);

 

                    dtt.Columns.Add(dcComplaints);

 

                    dtt.Columns.Add(dcNewBack);

 

                    dtt.Columns.Add(dcCount);

 

                    DataRow dr = dtt.NewRow();

 

                    dtt.Rows.Add(dr);

 

                    if (dt.Rows.Count > 0)

                    {

                        for (int i = 0; i < dt.Rows.Count; i++)

                        {

                            

                            dtt.Rows[i]["坐席员工号"] = dt.Rows[i]["user_name"].ToString();

                            dtt.Rows[i]["姓名"] = dt.Rows[i]["first_name"].ToString();

                            dtt.ImportRow(dt.Rows[i]);

                        }

                    }

 

                    DataTable dtNews = myNews.m_SelectAllCount(this.dtpStartDate.Text, this.dtpStopDate.Text);//获取线索数量的数量、用户、 名字

 

                    if (dtNews.Rows.Count > 0)

                    {

                        for (int i = 0; i < dt.Rows.Count; i++)

                        {

                            for (int j = 0; j < dtNews.Rows.Count; j++)

                            {

                                if (dt.Rows[i]["user_name"].ToString() == dtNews.Rows[j]["user_name"].ToString())

                                {

                                    dtt.Rows[i]["新闻总数"] = dtNews.Rows[j]["count(News)"].ToString();

                                    break;

                                }

                            }

                        }

                    }

 

                    DataTable dtComplaints = myComplaints.m_SelectAllCount(this.dtpStartDate.Text, this.dtpStopDate.Text);

 

                    if (dtComplaints.Rows.Count > 0)

                    {

                        for (int i = 0; i < dt.Rows.Count; i++)

                        {

                            for (int j = 0; j < dtComplaints.Rows.Count; j++)

                            {

                                if (dt.Rows[i]["user_name"].ToString() == dtComplaints.Rows[j]["user_name"].ToString())

                                {

                                    dtt.Rows[i]["投诉总数"] = dtComplaints.Rows[j]["count(description)"].ToString();

                                    break;

                                }

                               

                            }

                        }

                    }

 

                    DataTable dtNewsBack = myNewsBack.m_SelectAllCount(this.dtpStartDate.Text, this.dtpStopDate.Text);

 

                    if (dtNewsBack.Rows.Count > 0)

                    {

                        for (int i = 0; i < dt.Rows.Count; i++)

                        {

                            for (int j = 0; j < dtNewsBack.Rows.Count; j++)

                            {

                                if (dt.Rows[i]["user_name"].ToString() == dtNewsBack.Rows[j]["user_name"].ToString())

                                {

                                    dtt.Rows[i]["报道回音总数"] = dtNewsBack.Rows[j]["count(description)"].ToString();

                                    break;

                                }

                              

                            }

                        }

                    }

 

 

 

                    if (dtt.Rows.Count > 0)

                    {

                        dtt.Rows.RemoveAt(dtt.Rows.Count - 1);

 

                        for (int i = 0; i < dtt.Rows.Count; i++)

                        {

                            for (int j = 0; j < dtt.Columns.Count; j++)

                            {

                                if (dtt.Rows[i][j].ToString() == "")

                                {

                                    dtt.Rows[i][j] = 0;

                                }

                            }

                        }

                        for (int i = 0; i < dt.Rows.Count; i++)

                        {

                            string NewsCount = dtt.Rows[i]["新闻总数"].ToString().Trim();

                            string Comoplaints = dtt.Rows[i]["投诉总数"].ToString().Trim();

                            string NewBack = dtt.Rows[i]["报道回音总数"].ToString().Trim();

                            dtt.Rows[i]["总数"] = (int.Parse(NewsCount) + int.Parse(Comoplaints) + int.Parse(NewBack)).ToString().Trim();

                        }

                    }

posted @ 2011-12-09 15:26  Elite_Y  阅读(540)  评论(0编辑  收藏  举报