Vb.net Datagridview单元格长度
当我使用以下代码填充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
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
处理字符串的方法?