簡體   English   中英

鍵入時可以檢查datagridview中的單元格值長度嗎?

[英]Is it possible to check cell value length in datagridview while typing?

朋友,我在Visual Studio 2005 Windows應用程序中使用了datagridview控件。 在這里,我有5列。 在這5個中,第2個(colIndex 1)和第3個(colIndex 2)列具有文本數據類型,第4個(colIndex 3)和5th(colIndex 4)列具有double數據類型列。 現在,我要檢查colIndex 1和2的單元格值長度,輸入的值長度是否大於特定值(colIndex 1為10,colIndex 2為100)? 如果是這樣,那么我必須顯示相應的消息。 您能建議我在哪個datagridview事件中檢查輸入/鍵入的單元格值以及如何檢查該值嗎? 我在CellValidating事件中使用了以下代碼

    string columnName = dgView.Columns[e.ColumnIndex].Name;

        if (dgView.Rows[e.RowIndex].Cells[dgViewColumn.TAN].Value.ToString().Length > 10)
        {
            e.Cancel = true;
            MessageBox.Show(columnName + " must be 10 Digits Long!");
        }

但它顯示的是下一列的columnName。 而且,由於我具有針對網格的功能,按“ Enter”鍵會將焦點移至下一個單元格,因此顯示錯誤,因為“由於程序無法提交或退出單元格值更改,所以操作未成功”。 在CellValidating事件中。 請幫我。

我希望您知道將為每個單元格觸發CellValidating事件,所以也許您正在看到此消息,因為它可能在double數據類型列的長度部分失敗。

因此,應檢查一下第一列和第二列,然后再檢查長度。

您還可以選擇使用e.FormattedValue來獲取單元格中的當前值。

另外,您也可以在MaxInputLength為“文本框”列設置MaxInputLength (以備MaxInputLength

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM