




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、DataGridView單元格內(nèi)容自動(dòng)匹配下拉顯示“商品”單元格中需要根據(jù)用戶輸入內(nèi)容自動(dòng)匹配數(shù)據(jù)庫中商品信息,并且單元格處于編輯模式時(shí)顯示一個(gè)查詢圖標(biāo)的按鈕,點(diǎn)擊該按鈕也將顯示數(shù)據(jù)庫中所有商品信息。 KryptonDataGridView顯示控件此處命名為kDGVIndentDetail; 用于下拉顯示匹配內(nèi)容的DataGridView命名為dgv; 1、建立一個(gè)DataGridView類型的頁面變量用于KryptonDataGridView單元格下拉顯示匹配結(jié)果 1 /新建變量用于下拉顯示的數(shù)據(jù)控件2 3 DataGridView dgv = new DataGridView();4 5
2、/保存當(dāng)前編輯單元格的坐標(biāo)6 7 private int _colindex;/列索引8 9 private int _rowindex;/行索引10 2、頁面Load事件中設(shè)置dgv初始屬性和添加一個(gè)單元格單擊事件,提取為方法: 代碼 1 /設(shè)置下拉顯示控件的屬性2 3 private void _SetDGVDrop()4 5 6 7 /初始為不可見并且只讀8 9 dgv.Visible = false;10 11 dgv.ReadOnly = true;12 13 dgv.Height = 100;14 15 /單元格選擇模式為正行選擇16 17 dgv.SelectionMode =
3、DataGridViewSelectionMode.FullRowSelect;18 19 dgv.MultiSelect = false; /只用單行選擇20 21 dgv.ColumnHeadersVisible = false; /隱藏列頭22 23 /設(shè)置列寬24 25 dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;26 27 dgv.BackgroundColor = Color.FromName(window);28 29 dgv.RowHeadersVisible = false; /隱藏行頭
4、30 31 dgv.ScrollBars = ScrollBars.Vertical;/滾動(dòng)條模式32 33 dgv.AllowUserToAddRows = false; /禁止添加新行34 35 dgv.AllowUserToDeleteRows = false;36 37 dgv.AllowUserToOrderColumns = false;38 39 dgv.AllowUserToResizeColumns = false;40 41 dgv.AllowUserToResizeRows = false;42 43 dgv.BackgroundColor = Color.White;4
5、4 45 /設(shè)置單元格邊框樣式46 47 48 49 50 51 52 53 54 55 /添加單元格鼠標(biāo)單擊事件56 57 dgv.CellMouseClick += new DataGridViewCellMouseEventHandler(dgv_CellMouseClick);58 59 /向明細(xì)單顯示控件中加入該下拉控件60 61 62 63 64 65 dgv的單元格單擊事件: 3、數(shù)據(jù)顯示控件kDGVIndentDetail的商品列(colProId)類型為:KryptonDataGridViewTextBoxCell,在列的ButtonSpecs屬性中添加一個(gè)buttonSpe
6、cAny名稱為buttonSpecAny4,設(shè)置buttonSpecAny4的圖片: 4、buttonSpecAny4的單擊事件中顯示下拉顯示控件并調(diào)用控件的綁定事件: 當(dāng)單元格為編輯狀態(tài)時(shí),buttonSpecAny4按鈕將顯示,點(diǎn)擊該按鈕下拉控件顯示所有數(shù)據(jù),點(diǎn)擊控件的某一列,將把指定的值賦給當(dāng)前編輯的單元格(這里只取選中行“aa”列的值) 5、dgv的綁定方法:(為避免連接數(shù)據(jù)庫,這里使用手工填充數(shù)據(jù)的方法) 代碼 1 /綁定下拉顯示控件2 3 private void BindDGV(string str)4 5 6 7 /填充數(shù)據(jù)源8 9 DataTable dt = new Dat
7、aTable();10 11 aa);12 13 bb);14 15 cc);16 17 ee);18 19 DataRow dr = null;20 21 for (int i = 0; i 5; i+)22 23 24 25 dr = dt.NewRow();26 27 draa = str + aa + i;28 29 drbb = str + bb + i;30 31 drcc = str + cc + i;32 33 dree = str + ee + i;34 35 36 37 38 39 /綁定數(shù)據(jù)源 40 41 dgv.DataSource = dt;42 43 44 45 6
8、、現(xiàn)在實(shí)現(xiàn)在單元格直接輸入內(nèi)容時(shí)自動(dòng)配備顯示數(shù)據(jù)庫中的內(nèi)容,在kDGVIndentDetail顯示控件的EditingControlShowing事件中處理: TextChanged事件中根據(jù)用戶數(shù)據(jù)內(nèi)容動(dòng)態(tài)匹配 代碼 1 void kcell_TextChanged(object sender, EventArgs e)2 3 4 5 KryptonDataGridViewTextBoxEditingControl kdgvtbox = (KryptonDataGridViewTextBoxEditingControl)sender;6 7 /MessageBox.Show(kdgvtbox
9、.Text);8 9 ifcolProId)10 11 12 13 BindDGV(kdgvtbox.Text);14 15 16 17 18 19 Rectangle rect = kDGVIndentDetail.GetCellDisplayRectangle(_colindex, _rowindex, false);20 21 /設(shè)置顯示控件的位置22 23 dgv.Left = rect.Left;24 25 26 27 dgv.Visible = true;28 29 30 31 32 33 34 35 7、滾動(dòng)kDGVIndentDetail和改變列寬時(shí),隱藏下拉顯示控件 代碼 1
10、 private void kDGVIndentDetail_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e)2 3 4 5 /隱藏下拉顯示控件6 7 dgv.Visible = false;8 9 10 11 12 13 private void kDGVIndentDetail_Scroll(object sender, ScrollEventArgs e)14 15 16 17 /隱藏下拉顯示控件18 19 dgv.Visible = false;20 21 22 23 暫且寫到這里,還需要在使用中調(diào)試修改,
11、下面是效果圖: 單擊單元格進(jìn)入編輯模式時(shí),查詢按鈕顯示(放大鏡) 輸入內(nèi)容時(shí)顯示匹配內(nèi)容: 點(diǎn)擊放大鏡顯示所有內(nèi)容: 代碼 1 /單元格啟用編輯時(shí)2 3 private void kDGVIndentDetail_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)4 5 6 7 /MessageBox.Show(+sender.GetType().ToString();8 9 KryptonDataGridView kdgv = (KryptonDataGridView)sende
12、r;10 11 iftypeof(KryptonDataGridViewTextBoxEditingControl) /cell類型12 13 14 15 KryptonDataGridViewTextBoxEditingControl kcell = e.Control as KryptonDataGridViewTextBoxEditingControl;16 17 18 19 /獲取列名20 21 22 23 ifcolProId)/此列為顯示商品代碼的列24 25 26 27 /添加按鍵事件28 29 kcell.TextChanged += new EventHandler(kcel
13、l_TextChanged);30 31 32 33 34 35 36 37 代碼 1 private void buttonSpecAny4_Click(object sender, EventArgs e)2 3 4 5 /點(diǎn)擊可查詢6 7 8 9 KryptonDataGridViewTextBoxCell kdcell = (KryptonDataGridViewTextBoxCell)buttonSpecAny4.Owner;10 11 BindDGV();12 13 Rectangle rect = kDGVIndentDetail.GetCellDisplayRectangle(
14、kdcell.ColumnIndex, kdcell.RowIndex, false);14 15 _colindex = kdcell.ColumnIndex;16 17 _rowindex = kdcell.RowIndex;18 19 /設(shè)置顯示控件的位置20 21 dgv.Left = rect.Left;22 23 24 25 26 27 dgv.Visible = true;28 29 30 31 代碼 1 /下拉顯示控件單元格雙擊事件,獲得選擇值并賦值給當(dāng)前單元格2 3 void dgv_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)4 5 6 7 DataGridView dg
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 美術(shù)手工說課課件
- 安全生產(chǎn)一體化是什么意思
- 安全檢查巡查表
- 建筑測量工作總結(jié)
- 安全綜合預(yù)案
- 北京市企業(yè)安全生產(chǎn)主體責(zé)任規(guī)定
- 木聯(lián)能培訓(xùn)課件
- 物業(yè)租賃備案培訓(xùn)課件
- 美業(yè)人職業(yè)形象培訓(xùn)課件
- 2025至2030中國道路綠化行業(yè)市場發(fā)展分析及發(fā)展趨勢與投資機(jī)會報(bào)告
- starion電熱能手術(shù)系統(tǒng)(熱能刀)產(chǎn)品簡介制作課件
- 新生兒肺動(dòng)脈高壓
- 計(jì)算機(jī)硬件購銷合同
- 裝表接電課件(PPT 86頁)
- 2019年GJB9001C-2017組織內(nèi)外部環(huán)境因素風(fēng)險(xiǎn)和機(jī)遇識別評價(jià)分析及應(yīng)對措施一覽表備用
- 《2015年全省高校微課教學(xué)比賽工作方案(高職高專組)》
- 鉆機(jī)電氣控制系統(tǒng)操作手冊
- 氬氣安全周知卡
- 太鋼不銹鋼產(chǎn)品介紹
- 2019新版《建筑設(shè)計(jì)服務(wù)計(jì)費(fèi)指導(dǎo)》
- 幼兒專注力的個(gè)案培養(yǎng)
評論
0/150
提交評論