如何使用GridView实现IF语句

时间:2012-09-26 14:06:00

标签: c# asp.net gridview

我正在开发我的第一个Web项目,在使用GridView时我需要帮助添加IF逻辑。我有一个页面(CustomerListPage),它有一个GridView项目,显示可以单击的客户(行)列表。单击客户后,用户将被重定向到名为“CustomerUsagePage”的页面,该页面显示该客户的最新记录。这就是我的CustomerListPage的GridView代码:

 if (GridView1.SelectedRow.RowIndex == 0)
   {
       //string selectedUser = GridView1.SelectedRow.Cells[0].ToString();
       Response.Redirect("CustomerUsagePage.aspx?Customer_Name=" );
       BindGridview();
   }

我的CustomerUsagePage的代码如下所示:

private void BindControlvalues()
{

    con.Open();
    SqlCommand cmd = new SqlCommand("select * from dbo.CustomerTable", con);
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    con.Close();
    DataSet ds = new DataSet();
    da.Fill(ds);
    Label4.Text = ds.Tables[0].Rows[0][1].ToString();
    Label1.Text = ds.Tables[0].Rows[0][0].ToString();
    Label2.Text = ds.Tables[0].Rows[0][3].ToString();
    Label3.Text = ds.Tables[0].Rows[0][4].ToString();
}

我的问题是我只能在我的GridView所在的页面添加IF逻辑。我想点击一个客户,并使用if语句将他的数据显示在我的CustomerUsagePage上。可能吗?我知道我可以通过为每个客户添加一个页面来做到这一点,但我不想沿着那条路走下去,这似乎很乏味。有没有人有什么建议?

1 个答案:

答案 0 :(得分:2)

您可以使用GridView-FormView (Master/Detail) Control

链接:http://www.codeproject.com/Articles/16780/GridView-FormView-Master-Detail-Control

或者您可以在ItemCommand事件

中使用经典行为
void GridView_RowCommand(Object sender, GridViewCommandEventArgs e)
{
    if(e.CommandName=="Add")
    {
      int index = Convert.ToInt32(e.CommandArgument);

      GridViewRow row = CustomersGridView.Rows[index];

      .....//Adjust your Response
    }
}