如何通过数据库搜索组合框

时间:2013-11-12 09:43:30

标签: c# asp.net combobox dataset database-connectivity

protected void Page_Load(object sender, EventArgs e)
{
    dr = new MySqlDataAdapter("select * from cus_mas_det", conn);
    ds = new DataSet();

    dr.Fill(ds, "cus_mas_det");
    DataTable CodeDesc = new DataTable();
    conn.Open();
    dr = new MySqlDataAdapter("select tvl_code, concat_ws(',', tvl_code, citi_name) citiname from code_desc where travel_mode = 'BUS'", conn);
    ds1 = new DataSet();
    dr.Fill(ds1);
    ddlfrom.DataSource = ds1;
    ddlfrom.DataTextField = "citiname";
    ddlfrom.DataValueField = "tvl_code";
    ddlfrom.DataBind();
    txtbookingdate.Text = System.DateTime.Now.ToString("yyyy/MM/dd");
    txtbookingdate.ReadOnly = true;
    txtbookingref.Text = autoid();
    txtbookingref.ReadOnly = true;
}

我有一个asp页面,其中我有文本框和组合框,我正在填充数据库中的组合框,如上面的代码所示,我可以填充它。
现在我的问题是我想通过在组合框中键入任何单词来搜索元素。
例如,如果我输入单词“Ab”,它应该显示所有以“Ab”开头的元素。
怎么做?

   <asp:ComboBox ID="ddlfrom" class="chzn-select" runat="server"  
                                            DataTextField="name" DataValueField="name" MaxLength="0" 
                                            style="display: inline;" 
                                            onselectedindexchanged="ddlfrom_SelectedIndexChanged1">

                                        </asp:ComboBox>                                       

3 个答案:

答案 0 :(得分:0)

您需要使用AJAX执行此客户端。

  1. 创建一个Web服务或使用一个页面方法,该方法将一些搜索文本作为参数,然后返回您需要的数据。

  2. 客户端 - 使用JavaScript / jQuery处理按键事件并更新您的组合框或此时使用的任何控件。

  3. 使用jQuery的示例:

    $('#<%= txtBox.ClientID %>').keypress(function () {
    
        var currentText = $(this).val();
    
        $.get('some_web_service', { searchText: currentText }, function (data) {
            // update combo box here using data
        });
    
    });
    

    这假设您有一个名为some_web_service的Web服务,它将返回您需要的数据。

    或者你可以将整个事情放在UpdatePanel中并处理keypress事件,但这样做的效果不会那么好。

答案 1 :(得分:0)

我认为你不能用ASP.Net组合框进行这样的搜索而不是你应该尝试一些事情like

答案 2 :(得分:0)

您可以使用此处harvesthq.github.io/chosen/

中选择的jquery插件

所以你可以在下拉列表中搜索关键字试试这个插件。

这可以帮助您使用How do I use Chosen jQuery in my html file?

将所需的js和css文件添加到页面分配类到下拉列表: -

    <head>
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css">
    <script src="http://code.jquery.com/jquery-1.8.3.js"></script>
    <script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
    <script src="http://harvesthq.github.com/chosen/chosen/chosen.jquery.js"></script>
    <link rel="stylesheet" href="http://harvesthq.github.com/chosen/chosen/chosen.css">
<script type="text/javascript">
$(function(){
    $(".chzn-select").chosen();
});
</script>
    </head>
    <body>

将课程分配到您的下拉列表

<asp:DropDownList ID="dr_list" runat="server" CssClass="chzn-select">
   <asp:ListItem Value="-1" Text=""></asp:ListItem>
      </asp:DropDownList>

下载Here