如何在单个gridview中显示两个查询结果? [英] How can I display two query result in a single gridview?

查看:293
本文介绍了如何在单个gridview中显示两个查询结果?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图在单个gridview中显示两个查询结果。我在互联网上冲浪很多,但我没有得到正确的答案。请帮助任何人。我的示例查询

I am trying to display two query result in a single gridview. I surfed a lot in internet but I did not get a proper answer. Kindly help anyone. My sample query

    int shift=0;
    int month = Convert.ToInt32( ddmonth.SelectedItem.Value);// should be in the format of Jan, Feb, Mar, Apr, etc...
    int yearofMonth = Convert.ToInt32(ddyear.Text);
    DateTime dateTime = Convert.ToDateTime(month + "-" + "01-" + yearofMonth);
    string month1 = dateTime.Month.ToString();
    int year = Convert.ToInt32(ddyear.Text);
    DataRow dr;
    DataTable dt = new DataTable();
    dt.Columns.Add("Sunday");
    dt.Columns.Add("Monday");
    dt.Columns.Add("Tuesday");
    dt.Columns.Add("Wednesday");
    dt.Columns.Add("Thursday");
    dt.Columns.Add("Friday");
    dt.Columns.Add("Saturday");
    dr = dt.NewRow();


    for (int i = 0; i < DateTime.DaysInMonth(year, month); i += 1)
    {
        qry = "select s.Shiftname from ShiftType s,ShiftAllocation a where s.ShiftID=a.ShiftID";
        empdt = conn.gettable(qry);
        string data = empdt.Rows[shift][0].ToString();
        empdt.Columns.Add(data);
        row = empdt.NewRow();
        if (Convert.ToDateTime(dateTime.AddDays(i)).ToString("dddd") == "Sunday")
        {
            dr["Sunday"] = i + 1;
            row[data] = empdt.Rows[shift][0].ToString();
        }
        if (Convert.ToDateTime(dateTime.AddDays(i)).ToString("dddd") == "Monday")
        {
            dr["Monday"] = i + 1;
            row[data] = empdt.Rows[shift][0].ToString();
        }
        if (dateTime.AddDays(i).ToString("dddd") == "Tuesday")
        {
            dr["Tuesday"] = i + 1;
            row[data] = empdt.Rows[shift][0].ToString();
        }
        if (dateTime.AddDays(i).ToString("dddd") == "Wednesday")
        {
            dr["Wednesday"] = i + 1;
            row[data] = empdt.Rows[shift][0].ToString();

        }
        if (dateTime.AddDays(i).ToString("dddd") == "Thursday")
        {
            dr["Thursday"] = i + 1;
            row[data] = empdt.Rows[shift][0].ToString();
        }
        if (dateTime.AddDays(i).ToString("dddd") == "Friday")
        {
            dr["Friday"] = i + 1;
            row[data] = empdt.Rows[shift][0].ToString();
        }
        if (dateTime.AddDays(i).ToString("dddd") == "Saturday")
        {
            dr["Saturday"] = i + 1;
            row[data] = empdt.Rows[shift][0].ToString();
            dt.Rows.Add(dr);
            dr = dt.NewRow();
            empdt.Rows.Add((row.ItemArray));
            row = empdt.NewRow();
            continue;
        }
        if (i == DateTime.DaysInMonth(dateTime.Year, dateTime.Month) - 1)
        {
            dt.Rows.Add(dr);
            dr = dt.NewRow();
            empdt.Rows.Add((row.ItemArray));
            row = empdt.NewRow();
        }

    }
    GridView1.DataSource = dt;
    GridView1.DataBind();

这是我尝试创建事件日历的实际代码。我预期的o / p就像

This is my actual code I am trying to create an event Calender. My expected o/p is just like

现在GridView只显示dt值,并且我想将查询结果empdt显示为事件

Now GridView displays only dt values and I want to display the query result empdt as the events

推荐答案

string qry="select Name,Age from table Sample1 inner join table Sample2 on table Sample1.CustomerID = table Sample2.CustomerID";

dr1=con.query(qry);
GridView1 DataSource=dr1;
GridView1 DataBind();

这两个表必须具有相同的列名CustomerID。然后你可以使用这个查询。

Both table must have same column name "CustomerID". Then you can use this query.

这篇关于如何在单个gridview中显示两个查询结果?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆