我想提出一個Windows窗體中,我有一個組合框,到我所加載的一些「發票編號」,從SQL Server 2010 我要顯示發票編號作爲用戶類型進入組合框。 對於例如,如果用戶類型「100」,則發票編號與「100」啓動應顯示在下拉。搜索組合框像谷歌搜索
請幫幫忙, 在此先感謝...
我想提出一個Windows窗體中,我有一個組合框,到我所加載的一些「發票編號」,從SQL Server 2010 我要顯示發票編號作爲用戶類型進入組合框。 對於例如,如果用戶類型「100」,則發票編號與「100」啓動應顯示在下拉。搜索組合框像谷歌搜索
請幫幫忙, 在此先感謝...
DataTable temp;
DataTable bank;
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;
temp = DbRdRw.SqlDbRead("Select * from BankMaster", "BankMaster");
DataView dtview = new DataView(temp);
dtview.Sort = "BankName DESC";
bank = dtview.ToTable();
comboBox1.DataSource = bank;
comboBox1.ValueMember = "BankName";
comboBox1.DisplayMember = "BankName";
}
我試過這個代碼,它的工作... 感謝所有誰試圖回答我的問題... – Sam 2013-04-09 07:48:11
嘗試AutoCompleteMode - 無論是建議或SuggestAppend取決於你正在尋找的確切行爲。另外,請記住設置AutoCompleteSource爲AutoComplete將基於自動完成的列表(我建議ListItems)。
http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox.autocompletemode.aspx
你需要做的是:
有此事件上運行的函數讀取框的內容(在你的榜樣「100」)和火查詢給您的數據庫,例如:
SELECT InvoiceNumber from Invoices WHERE InvoiceNumber LIKE '100%'
是不是在MSSQL'*'的'而不是'%? – EaterOfCode 2013-04-08 12:39:06
我已經在SQL Server 2010中成功使用過'%'至少 – snappieT 2013-04-08 12:40:58
你說的對,我的錯 – EaterOfCode 2013-04-08 12:42:14
填寫您的組合框上裝載從數據庫項目,然後 一套組合框屬性:
AutoCompleteMode:建議追加
AutoCompleteSource:listItems中
製作確保將DropDown樣式設置爲DropDown,以便用戶可以輸入。 只是做一個驗證,如果在組合框中輸入的文本不會在名單上接受之前就已存在。
希望它有幫助。
哇謝謝!我不知道這一點。 – AKS 2014-06-14 18:16:30
可能重複: 檢查這個 http://stackoverflow.com/questions/11780558/c-sharp-winforms-combobox-dynamic-autocomplete – 2013-04-08 12:36:05