Vb.net Datagridview单元格长度

Vb.net Datagridview单元格长度,vb.net,datagridview,cell,maxlength,Vb.net,Datagridview,Cell,Maxlength,当我使用以下代码填充Datagridview时: Private Sub FormatGridView() Dim ILNumColumn As New DataGridViewTextBoxColumn Dim ArtNumColumn As New DataGridViewTextBoxColumn Dim DescColumn As New DataGridViewTextBoxColumn 'Header text ILNumColumn.Hea

当我使用以下代码填充Datagridview时:

Private Sub FormatGridView()
    Dim ILNumColumn As New DataGridViewTextBoxColumn
    Dim ArtNumColumn As New DataGridViewTextBoxColumn
    Dim DescColumn As New DataGridViewTextBoxColumn

    'Header text
    ILNumColumn.HeaderText = "# IL"
    ArtNumColumn.HeaderText = "# Articles"
    DescColumn.HeaderText = "Description"

    'Wrap
    DescColumn.DefaultCellStyle.WrapMode = DataGridViewTriState.True

    'Widths
    ILNumColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells
    ArtNumColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells
    DescColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill

    'Add columns
    dgvArticles.Columns.Add(ILNumColumn)
    dgvArticles.Columns.Add(ArtNumColumn)
    dgvArticles.Columns.Add(DescColumn)
End Sub
ILNumColumn.MaxInputLength = 3
我希望
ILNumColumn
在其单元格中接受的数字不超过3个

我尝试了以下代码:

Private Sub FormatGridView()
    Dim ILNumColumn As New DataGridViewTextBoxColumn
    Dim ArtNumColumn As New DataGridViewTextBoxColumn
    Dim DescColumn As New DataGridViewTextBoxColumn

    'Header text
    ILNumColumn.HeaderText = "# IL"
    ArtNumColumn.HeaderText = "# Articles"
    DescColumn.HeaderText = "Description"

    'Wrap
    DescColumn.DefaultCellStyle.WrapMode = DataGridViewTriState.True

    'Widths
    ILNumColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells
    ArtNumColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells
    DescColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill

    'Add columns
    dgvArticles.Columns.Add(ILNumColumn)
    dgvArticles.Columns.Add(ArtNumColumn)
    dgvArticles.Columns.Add(DescColumn)
End Sub
ILNumColumn.MaxInputLength = 3
没用了,我还能写“9999”。。。当我到达“999”时,那个密码不应该阻止我打字吗?我知道可以使用各种datagridview事件来实现这一点,但我想知道在向datagridview添加列时是否可以实现这一点


谢谢

嗯,我找不到MaxInputLength的替代方案,所以我使用了一个CellValidating事件

Private Sub dgvArticles_CellValidating(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellValidatingEventArgs) Handles dgvArticles.CellValidating
    'Ensures only numeric values are entered in these fields
    If e.ColumnIndex = 0 Then
        If e.FormattedValue <> "" And (e.FormattedValue < 0 Or e.FormattedValue >= 1000) Then
            MsgBox("IL # must be greater than 0 and less than 1000")
            e.Cancel = True
        End If
    End If
End Sub
Private子dgvArticles\u CellValidating(ByVal sender作为对象,ByVal e作为System.Windows.Forms.DataGridViewCellValidatingEventArgs)处理dgvArticles.CellValidating
'确保在这些字段中只输入数值
如果e.ColumnIndex=0,则
如果e.FormattedValue“”和(e.FormattedValue<0或e.FormattedValue>=1000),则
MsgBox(“IL#必须大于0且小于1000”)
e、 取消=真
如果结束
如果结束
端接头

是否有类似于
e.FormattedValue
处理字符串的方法?