将Sql值加载到下拉列表时出错

时间:2016-06-01 13:59:04

标签: c# asp.net

我知道这听起来不对。是否有可能在下拉列表中获取SQL值,因此下拉列表中的ListItem之一与SQL类似。

这是我的代码:

private void ReviewButtonPinsDetails()
{
      con.Open();
      cmd = new SqlCommand(@"SELECT quo_ProdCategory,quo_ProdType
                              ,quo_JobDesc,quo_PrintProcess
                              ,quo_File,quo_Finishing
                              ,quo_Quantity
                              FROM JobQuotations1
                              WHERE TransactionID = @id
                              AND TransactionNum = @Num", con);
       cmd.Parameters.AddWithValue("@id", GridView1.SelectedRow.Cells[2].Text);
       cmd.Parameters.AddWithValue("@Num", GridView1.SelectedRow.Cells[4].Text);

       rdr = cmd.ExecuteReader();

       if (rdr.HasRows)
       {
          while (rdr.Read())
          {
              ddlProducts.Text = rdr["quo_ProductCategory"].ToString();
              ddlProdName.Text = rdr["quo_ProdType"].ToString();
              txtJobDesc.Text = rdr["quo_JobDesc"].ToString();
              ddlPrintProc.Text = rdr["quo_PrintProcess"].ToString();
              lblFileName.Text = rdr["quo_File"].ToString();
              txtFinishing.Text = rdr["quo_Finishing"].ToString();
              txtQty.Text = rdr["quo_Quantity"].ToString();
          }
      }
      con.Close();
      lblFileStatus.Text = "Previous File";
}

当客户想要查看他/她的订单并选择网格视图中的行时,它会恢复文本框和下拉列表的值。

2 个答案:

答案 0 :(得分:1)

我不太了解您正在使用的框架,但您是否考虑过使用INotifyPropertyChanged接口提供的功能。

允许您使用PropertyChangedEventHandler对象。

将视图中的文本框绑定到模型中的属性。

然后,您可以在类中创建一些属性,这些属性将保存文本框和下拉列表的数据,并确保在设置新属性时 您创建的PropertyChangedEventHandler对象将处理更新视图中的属性。

答案 1 :(得分:0)

首先在分配Sql Value之前绑定您的下拉列表。

例如:

bindProducts(ddlProducts);
ddlProducts.SelectedValue = rdr["quo_ProductCategory"].ToString();

bindProducts(ddl as DropDownList)是将产品列表绑定到下拉列表的方法。