我有一个下拉列表,它将数据库列airport_names显示为项目。由于列表非常长,因此用户很难滚动和选择项目。
数据库表包含airport_codes和airport_names。现在我想放置一个文本框,用户可以在其中输入airport_code,并在下拉列表中选择生成的airport_name。
列表应包含显示的选定项目以及所有其他项目(如果单击)。
我有一个工作代码,它根据文本框代码在下拉列表中显示项目,但我也希望列表中的所有其他项目与之一起。如何实现两者。请帮忙。提前谢谢。
这是我的代码:
public DataSet get_MST_SHIPPING_PORT_frm_Code(string code)
{
try
{
cmd.Parameters.Clear();
string sql = "select PORT_NAME from MST_SHIPPING_PORT where PORT_CODE=@CODE";
cmd.CommandText = sql;
cmd.Parameters.Add("@CODE", SqlDbType.Char, 5).Value = code;
OpenConnection();
DataSet ds = new DataSet();
da = new SqlDataAdapter(sql, con);
da.SelectCommand = cmd;
da.Fill(ds);
return ds;
}
}
在btn点击,发生以下情况:
DataSet ds = _exportbll.get_MST_SHIPPING_PORT_frm_Code(code);
if (ds != null)
{
if (ds.Tables[0].Rows.Count > 0)
{
ddlportto.DataSource = ds.Tables[0];
ddlportto.DataTextField = "PORT_NAME";
ddlportto.DataValueField = "PORT_NAME";
ddlportto.DataBind();
}
else
{
lbl_msg.Text = "Invalid Code";
}
答案 0 :(得分:0)
虽然不推荐,但由于您可能有某些商业案例,请执行以下操作: -
通过
检索所有端口的静态列表select PORT_NAME from MST_SHIPPING_PORT
现在在此列表中,使用可用的各种插件(例如jQuery autocomplete)实现autosuggest,这将插入正在键入的值并使用相应的值填充下拉列表。
将值作为静态列表检索,您将在输入的每个值上保存多次到DB的行程,这也适用于您的应用程序的所有用户。
自动完成功能将允许用户继续输入值,结果将自动过滤。