轉(zhuǎn)帖|使用教程|編輯:鮑佳佳|2020-08-14 09:50:13.483|閱讀 272 次
概述:如果你為表格中的列指定了數(shù)據(jù)類(lèi)型,表格會(huì)驗(yàn)證這個(gè)類(lèi)型的數(shù)據(jù)是否能夠在這一列保存。這有助于防止錯(cuò)誤發(fā)生,本文詳細(xì)描述了如何用代碼實(shí)現(xiàn)檢查在數(shù)據(jù)輸入后編輯框中的數(shù)據(jù)是否合法。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
相關(guān)鏈接:
ComponentOne Studio for WinForms包含超過(guò)65個(gè).NET的控件,其中,還有一些是 WinForms所獨(dú)有的。它擁有敏捷的設(shè)計(jì)器、數(shù)以百計(jì)的樣例和一個(gè)活躍的社區(qū)論壇。它可以幫你完成任何事,不管是要設(shè)計(jì)一個(gè)擁有百萬(wàn)行的Grid還是一張具有無(wú)數(shù)點(diǎn)的圖表。
點(diǎn)擊下載.NET控件集ComponentOne最新試用版
添加數(shù)據(jù)驗(yàn)證
如果你為表格中的列指定了數(shù)據(jù)類(lèi)型,表格會(huì)驗(yàn)證這個(gè)類(lèi)型的數(shù)據(jù)是否能夠在這一列保存。這有助于防止錯(cuò)誤發(fā)生,但是你會(huì)經(jīng)常需要更加嚴(yán)格的驗(yàn)證,以確保輸入的數(shù)據(jù)是正確的。 ValidateEdit 事件就可以很好地幫你解決這個(gè)問(wèn)題。例如,想象一下,反托拉斯法規(guī)組織我們?cè)诒狈降貐^(qū)銷(xiāo)售我們的小程序。為了防止數(shù)據(jù)輸入錯(cuò)誤而帶來(lái)昂貴的訴訟,我們希望防止用戶在這個(gè)下拉列表中輸入這個(gè)值。
以下事件用來(lái)檢查在數(shù)據(jù)輸入后編輯框中的數(shù)據(jù)是否合法, 添加下面的代碼到窗體中:
Visual Basic
Private Sub C1FlexGrid1_ValidateEdit(ByVal sender As Object, ByVal e As ValidateEditEventArgs) Handles C1FlexGrid1.ValidateEdit Dim rgn As String = String.Empty Dim prd As String = String.Empty ' 收集我們需要的數(shù)據(jù) Select Case e.Col prd = C1FlexGrid1.Editor.Text rgn = C1FlexGrid1(e.Row, "Region") Case 1 prd = C1FlexGrid1(e.Row, "Product") rgn = C1FlexGrid1.Editor.Text End Select ' 我們可以在北部區(qū)域賣(mài)小程序 If prd = "Applets" And rgn = "North" Then MsgBox("Warning: Regulation #12333AS/SDA-23 forbids " & _ "the sale of " & prd & " in region " & rgn & ". " & _ "Please verify input.") e.Cancel = True End If End Sub
private void c1FlexGrid1_ValidateEdit( object sender, ValidateEditEventArgs e) { string rgn = string.Empty; string prd = string.Empty; //收集我們需要的數(shù)據(jù). switch (e.Col) { case 0: prd = c1FlexGrid1.Editor.Text; rgn = (string)c1FlexGrid1[e.Row, "Region"]; break; case 1: prd = (string)c1FlexGrid1[e.Row, "Product"]; rgn = c1FlexGrid1.Editor.Text; break; } //我們可以在北部區(qū)域賣(mài)小程序 if ( prd == "Applets" && rgn == "North" ) { MessageBox.Show("Warning: Regulation #12333AS/SDA-23 forbids " + "the sale of " + prd + " in region " + rgn + ". " + "Please verify input."); e.Cancel = true; } }
運(yùn)行程序,并遵守以下規(guī)定:
這個(gè)模塊開(kāi)始是收集需要驗(yàn)證的輸入。請(qǐng)注意,被檢查的值要恢復(fù)的話請(qǐng)使用 Editor.Text 屬性。 這是必要的,因?yàn)檫@次編輯并沒(méi)有應(yīng)用到控件中去。如果檢查失敗了,這個(gè)模塊將會(huì)顯示一個(gè)警告然后將 Cancel 參數(shù)設(shè)置為 True,這樣可以取消編輯并將單元格重新置為編輯模式,使用戶可以再次嘗試。按 F5 再次運(yùn)行該項(xiàng)目,然后再嘗試輸入一些錯(cuò)誤的值。你會(huì)看到該控件將會(huì)拒絕它們。
本次分享的內(nèi)容就是這些,在接下來(lái)的文章中我們將講解如何在編輯中添加剪切板支持。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:葡萄城