Dev GridControl 單元格輸入資料的驗證方法
作者:jiankunking 出處:http://blog.csdn.net/jiankunking
今天要做一個dev gridcongtrol輸入單元格內容有效性的檢測,此處以不允許為空、該列的值不允許重複為例。(當然也可以使用別的方式,但別的方式不好實現:當該單元格值不滿足條件時,鎖定整個gridview,除該單元格之外的位置都不允許輸入,即將焦點鎖定在這一個單元格)。
1、首先將要驗證的列設定為RepositoryItemTextEdit型別,或者別的控制元件型別(其餘控制元件型別未測試),以下以RepositoryItemTextEdit型別為例
2、找到RepositoryItemTextEdit的Validating事件,具體程式碼如下:
<span style="font-size:14px;"> private void TextEdit1_Validating(object sender, System.ComponentModel.CancelEventArgs e)
{
BaseEdit textEdit = sender as BaseEdit;
if (textEdit.Text.ToString().Trim().Length == 0)
{
e.Cancel = true;
//標識 錯誤提示
errorReason = 0;
return;
}
else
{
//獲取GridView中所有的選中的行號
//此處不允許多選,故只有一行
int[] iRowId = this.gViewActList.GetSelectedRows();
for (int i = 0; i < gViewActList.DataRowCount; i++)
{
//重複檢驗時,不驗證當前行
if (i != iRowId[0])
{
//textEdit.EditValue 當前編輯的值
//需要注意的是取當前單元格的值要用:textEdit.EditValue
//GridView在TextEdit1_Validating執行時還未將你輸入的值更新進去,但執行完該方法後,即使不滿足條件,你所輸入的值,也會更新到GridView中去
//同時,也說明了,在Validating函式中排除重複值的時候,通過GridView獲取當前行的值,不是最新的,即不是你最近一次輸入的
if (textEdit.EditValue.ToString().Trim() == gViewActList.GetDataRow(i)["GridView上繫結的列名"].ToString().Trim())
{
e.Cancel = true;
//標識 錯誤提示
errorReason = 1;
return;
}
}
}
}</span>
3、根據Validating事件中的標識,進行錯誤資訊提示:
<span style="font-size:14px;">private void gViewActList_InvalidValueException(object sender, InvalidValueExceptionEventArgs e)
{
if (errorReason == 0)
{
e.ErrorText = "動作名稱不允許為空!";
}
else if (errorReason == 1)
{
e.ErrorText = "動作名稱不允許為重複!";
}
else
{
e.ErrorText = "值無效!";
}
}</span>
具體效果如下:
小注:
1、使用RepositoryItem.Validating事件,事件的"sender" 必須轉換為BaseEdit型別,使用EditValue來獲取當前輸入的值並進行校驗,如果校驗不通過,把e.Cancel設定True。這種方法一般用來對內建控制元件的單元格進行資料驗證。
2、使用 GridView.ValidatingEditor 事件
事件的"sender"必須轉換為GridView型別,當前列可以從GridView.FocusedColumn屬性獲得,值可以從e.Value獲取,如果校驗不通過,需要把e.Valid設定為False.。這種方法一般用於對整個Grid內的文字框進行資料驗證。
具體錯誤提示資訊可以在GridView.InvalidValueException事件中進行處理
相關文章
- Dev GridControl 單元格錯誤提示dev
- winform中輸入資料的驗證ORM
- 輸入表單驗證
- dev gridcontrol 單選框效果dev
- Excel合併單元格資料的方法教程Excel
- js中驗證輸入數字的方法JS
- lapis的輸入驗證API
- C#驗證輸入的是否數字的方法C#
- 單元格資料鑽取
- wps的excel中的單元格限定輸入的內容Excel
- 簡單的資料輸入
- element-ui表單驗證輸入空格也能驗證通過UI
- 登入驗證碼生成kaptcha(輸入驗證碼)APT
- 表單資料驗證
- EXCEL破冰 - 鎖定單元格樣式和輸入格式Excel
- PHP--輸入驗證PHP
- excel生成單元格帶下拉選項的模板 + 資料匯入Excel
- 複製excel中設定了公式的單元格資料的方法Excel公式
- Laravel Graphql Mutation 時資料驗證及複雜格式資料輸入 (InputObjectType)LaravelObject
- 驗證使用者輸入的口令是否與資料庫中的匹配資料庫
- 完成資料的跨界傳輸與驗證
- js 合併單元格的方法(使用直接呼叫資料時排列好的)JS
- Flutter 驗證碼輸入框Flutter
- 有關日期手工輸入驗證、日期彈出框、數值輸入驗證、必須輸入驗證等(共三個檔案)
- NPOI擴充套件--判斷指定單元格是否為合併單元格和輸出該單元格的行列跨度(維度)套件
- Laravel 表單輸入資料Laravel
- Flutter 密碼輸入框 驗證碼輸入框Flutter密碼
- 再來篇輸入驗證+重啟驗證的軟體破解
- 驗證輸入的字串是否為合法日期字串
- Excel合併單元格的兩種簡單方法Excel
- 防止 e-mail 注入的最好方法是對輸入進行驗證?AI
- Go-Web程式設計_表單_0x02_驗證表單的輸入GoWeb程式設計
- app直播原始碼,登入時輸入驗證碼、簡訊驗證身份APP原始碼
- MySql中表單輸入資料出現中文亂碼的解決方法MySql
- angular中的表單資料自定義驗證Angular
- elementui表格動態資料單元格合併UI
- 表單驗證自定義格式輸出
- 資料的輸入輸出