最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C# ComboBox下拉框?qū)崿F(xiàn)搜索方式

 更新時(shí)間:2024年12月28日 09:18:03   作者:Name.Gy  
文章介紹了如何在加載窗口時(shí)實(shí)現(xiàn)一個(gè)功能,并在ComboBox下拉框中添加鍵盤事件以實(shí)現(xiàn)搜索功能,由于數(shù)據(jù)不方便公開,作者表示理解并希望得到大家的指教

C# ComboBox下拉框?qū)崿F(xiàn)搜索

步驟一

這個(gè)是加載窗口時(shí)候的部分代碼,可忽視

// 這個(gè)是窗口加載時(shí)候的部分代碼,可以忽略

// ComboBox 指定數(shù)據(jù)源  (DeptDs是一個(gè)全局變量)
cbDept.DataSource = DeptDs.Tables[0];  
// 指定 下拉框 顯示內(nèi)容的值
cbDept.ValueMember = "id";
// 指定 下拉框 顯示的內(nèi)容
cbDept.DisplayMember = "name";
// 指定當(dāng)前選中的是哪個(gè)一個(gè)
cbDept.SelectedValue = ProtalInformation.OrgID;

步驟二

在 ComboBox 下拉框添加一個(gè)鍵盤事件

步驟三

實(shí)現(xiàn)下拉框搜索,對(duì)應(yīng) 步驟二 鍵盤事件

// KeyUp 事件
private void cbDept_KeyUp(object sender, KeyEventArgs e)
{
    
    // 如果是回車的話,就選中
    if (e.KeyCode == Keys.Enter) {
        cb.DroppedDown = false;
        return;
    }
    // 判斷如果是某些按鍵,就不觸發(fā)
    if (e.KeyCode == Keys.ShiftKey || e.KeyCode == Keys.CapsLock || e.KeyCode ==Keys.Back || e.KeyCode == Keys.Down || e.KeyCode == Keys.Up) {
        return;
    }

	// 獲取需要篩選的內(nèi)容
	string str = cbDept.Text;
	// 從datatable中篩選,再次聲明一下 DeptDs 是個(gè)全局變量
	DataRow[] drs = DeptDs.Tables[0].Select($"name like '%{str}%'");
	// 克隆表
	DataTable dt = DeptDs.Tables[0].Clone();
	// 將數(shù)據(jù)添加到表中
	foreach (DataRow dr in drs) {
		dt.Rows.Add(dr.ItemArray);
	}
    
    // 展開下拉列表
    cbDept.DroppedDown = true;

	// 賦值給下拉框
	cbDept.DataSource = dt;
	// 賦值選項(xiàng)的內(nèi)容,變來變了去不好看
	cbDept.SelectedValue = "";

	// 將輸入的內(nèi)容重新賦值給下拉框
	cbDept.Text = str;
	// 這個(gè)是輸入的光標(biāo)位置,要不要會(huì)跑到最左邊
	cbDept.SelectionStart = str.Length;

}

總結(jié)

本來想弄個(gè)GIF圖片展示一下實(shí)現(xiàn)后的效果的,但是數(shù)據(jù)不方便公開,希望大家多多諒解。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

故城县| 通海县| 隆尧县| 文化| 诸城市| 罗平县| 乌什县| 井冈山市| 股票| 安泽县| 七台河市| 松溪县| 巴南区| 广宗县| 罗城| 新巴尔虎左旗| 土默特左旗| 无锡市| 舞阳县| 瓦房店市| 托克托县| 鄯善县| 沛县| 贡山| 聂拉木县| 广西| 务川| 曲阜市| 长岭县| 马龙县| 蒙阴县| 青阳县| 阳原县| 张掖市| 邵阳县| 和林格尔县| 葫芦岛市| 遂溪县| 乌拉特中旗| 托里县| 通山县|