十、初学.NET—GridView绑定多表字段

使用多表左联接、右联接、内联 或者是Where字句将查询结果绑定到GridView上。多表结果也可以绑定到其它控件上。

后台代码:

private void SetBind()

    {

        DataSet ds = new DataSet();

        using (SqlConnection conn = new SqlConnection(sConnectionString))

        {

            SqlDataAdapter da = new SqlDataAdapter("SELECT tbReview.ReviewSubmmitState, tbMajor.MajorID, tbMajor.MajorName, tbDepartment.DepartmentName,tbReview.ReviewSumScore,tbReview.ReviewDateTime,tbReview.ReviewSubmmitState  FROM   tbMajor LEFT OUTER JOIN  tbDepartment ON tbMajor.MajorDepartmentID = tbDepartment.DepartmentID  left outer join tbReview on ReviewUserID='" + Session["UserID"].ToString() + "' and ReviewMajorID=MajorID  ORDER BY tbDepartment.DepartmentName, tbMajor.MajorName", conn);

            da.Fill(ds);

            conn.Open();

            {

                using (SqlCommand cmd = new SqlCommand("select count(*) from tbMajor", conn))

                {

                    MajorCount = Convert.ToInt16(cmd.ExecuteScalar());

                }

            }

        }

        DataView dv = new DataView(ds.Tables[0]);

        if (ViewState["SortExpresstion"] != null)

            dv.Sort = ViewState["SortExpresstion"].ToString() + " " + ViewState["SortDirection"].ToString();

        gv_ReviewIndex.DataSource = dv;

        gv_ReviewIndex.DataBind();

 

    }

前端:然后在GridView控件的绑定行中的控件的属性绑定到查询结果的字段。

<asp:TemplateField HeaderText="所属系部名称" SortExpression="DepartmentName">

          <ItemTemplate>

                <asp:Label ID="lb_Department" runat="server" Text='<%# Bind("DepartmentName") %>'></asp:Label>

          </ItemTemplate>

</asp:TemplateField>

原文地址:https://www.cnblogs.com/liuyuanhao/p/3012975.html