使用gridview databind之后的条件更改列值

时间:2017-06-17 12:18:25

标签: c# asp.net gridview sqldatareader executereader

我使用join从三个表中的 Gridview 中显示数据。 但我想用条件改变一个字段。

我将“状态”保持为“1”和“0”。 对于“1”我想显示“已选择”而对于“0”我想要显示“被拒绝”。

以下是我的代码:

void databind()
{
    string CS = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;
    using (SqlConnection con = new SqlConnection(CS))
    {
        con.Open();
        SqlCommand cmd = new SqlCommand("select a.applicant_id as 'Applicant ID',a.applicant_name as 'Name',a.status as 'Status',b.staff_Name as 'Reviewed by',c.course_name as 'Course' from tblApplicant a left outer join tblStaff b on a.staff_id=b.staff_id left outer join tblCourse c on a.course_id=c.course_id", con);
        SqlDataReader dr = cmd.ExecuteReader();
        GridView1.DataSource = dr;
        GridView1.DataBind();
    }
}

1 个答案:

答案 0 :(得分:0)

将此行与case when子句

一起使用
 SqlCommand cmd = new SqlCommand("select a.applicant_id as 'Applicant ID',a.applicant_name as 'Name',case when a.status=0 then 'Rejected' else 'Selected' end as 'Status',b.staff_Name as 'Reviewed by',c.course_name as 'Course' from tblApplicant a left outer join tblStaff b on a.staff_id=b.staff_id left outer join tblCourse c on a.course_id=c.course_id", con);