在下拉列表中,所有值都显示在列中。只需要一个时间值
DropDownList
一次只需要一个值。在下拉列表中,所有值都显示在列中。只需要一个时间值
这是我的代码:
SqlConnection con = new SqlConnection("data source=.;initial catalog=Rupesh;integrated security=true");
SqlCommand cmd;
SqlDataAdapter da;
string query;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
con.Open();
query = "select * from vendor";
cmd = new SqlCommand(query, con);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
DropDownList1.Items.Add(dr[4].ToString());
}
con.Close();
vendordetails();
}
}
private void vendordetails()
{
try
{
con.Open();
query = "select * from vendor";
cmd = new SqlCommand(query, con);
da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
con.Open();
query = "select * from vendor where vendor_name='" + DropDownList1.SelectedItem.ToString() + "'";
cmd = new SqlCommand(query, con);
da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
而不是使用
"select * from vendor"
使用类似
"select [columnname] from vendor"
替换[列名]同列的名称要显示。
*可以从数据库的所有列中获取所有值。
我想,而不是
if (!IsPostBack)
{
query = "select * from vendor";
}
你需要
if (!IsPostBack)
{
query = "select distinct vendor_name from vendor";
}
很难说他在做什么,但有人希望供应商表中的行将是唯一的无论如何:) – AntDC
是的,我期望它是如此,但你知道世界是如何:) –
一个案例可能是他试图填补基于名称的网格。所以可能会有同名的供应商,所以他可能会试图让所有的供应商都知道。只是一个疯狂的猜测。 –
现在我假设,当你从下拉菜单中选择一个供应商了,你想看到在网格中的供应商的详细信息。
你似乎为期不远了......
调整你的PROC vendordetails()是.............
private void vendordetails(string vendorName = "")
{
try
{
con.Open();
query = String.Format("select * from vendor where vendor_name = \'{0}\'", vendorName);
cmd = new SqlCommand(query, con);
da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
然后在DropDownList1_SelectedIndexChanged只是有...
vendordetails(DropDownList1.SelectedItem.Text)
谢谢。现在它正在工作。 –
如果它有效,您可以标记为答案;) – AntDC
提供更多细节什么显示和预期的结果类型。它有点不清楚你在说什么。 – C4u