我在显示数据时存在问题,这取决于DropDownList中的选定项目。我有一个表,例如一个equipment
列和一个索引列primekey
。 DDL只有不同的值,我想在新的gridview中显示所有特定的选定数据。根据DropDownList中的SelectedItem显示网格视图数据(asp.net/c#)
我的代码看起来是这样的:
public partial class _Default : Page
{
OleDbConnection conn = new OleDbConnection(ConfigurationManager.ConnectionStrings["OLEDB"].ToString());
OleDbDataAdapter datapter;
DataSet dset;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string queryGV = "SELECT * FROM table time > current_timestamp -20 AND EQUIPMENT != 'sth' ORDER BY time DESC";
string queryDLL1 = "SELECT DISTINCT EQUIPMENT FROM table ORDER BY EQUIPMENT";
OleDbCommand cmdGV = new OleDbCommand(queryGV, conn);
OleDbCommand cmdDLL1 = new OleDbCommand(queryDLL1, conn);
DataSet ds = new DataSet();
DataSet DLL1 = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter(cmdGV);
OleDbDataAdapter daDLL1 = new OleDbDataAdapter(cmdDLL1);
da.Fill(ds);
daDLL1.Fill(DLL1);
GridView1.DataSource = ds;
DropDownList1.DataSource = DLL1;
GridView1.DataBind();
DropDownList1.DataBind();
DropDownList1.Items.Insert(0, new System.Web.UI.WebControls.ListItem("Select Teil", "0"));
GridViewBind();
conn.Close();
}
}
protected void OnSelectedIndexChanged_DropDownList1(object sender, EventArgs e)
{
string valtxt = DropDownList1.SelectedItem.ToString();
if (DropDownList1.SelectedIndex != 0)
{
GridViewBind();
}
}
}
在这个函数发生错误:
public void GridViewBind()
{
datapter = new OleDbDataAdapter("select equipment, primekey from PI_EVENT_TABLE where primekey=" + DropDownList1.SelectedValue + "", conn);
dset = new DataSet();
datapter.Fill(dset);
GridView1.DataSource = dset.Tables[0];
GridView1.DataBind();
}
非常感谢您的回复,但现在它说这行中有一个错误:'datapter.Fill(dset);' 您是否有符合我的标准的示例代码:/? –
这可能会有所帮助。发布另一个答案。 –