好文档 - 专业文书写作范文服务资料分享网站

DataGridView控件用法合集11

天下 分享 时间: 加入收藏 我要投稿 点赞

'行テンプレートのセルスタイルの背景色を黄色にする DataGridView1.DefaultCellStyle.BackColor = Color.Yellow 25. DataGridView新追加行单元格默认值设置 [VB.NET]

'DefaultValuesNeededイベントハンドラ

Private Sub DataGridView1_DefaultValuesNeeded(ByVal sender As Object, _ ByVal e As DataGridViewRowEventArgs) _ Handles DataGridView1.DefaultValuesNeeded 'セルの既定値を指定する e.Row.Cells(\= 0 e.Row.Cells(\= \End Sub

DataGridView中输入错误数据的处理(五) 26. DataGridView单元格数据错误标签表示 27. DataGridView单元格内输入值正确性判断 28. DataGridView单元格输入错误值事件的捕获

26. DataGridView单元格数据错误标签表示

VB.NET]

'(0, 0)のセルにエラーアイコンを表示する

DataGridView1(0, 0).ErrorText = \セルの値を確認してください。\'インデックスが3の行にエラーアイコンを表示する

DataGridView1.Rows(3).ErrorText = \負の値は入力できません。\[C#]

//(0, 0)のセルにエラーアイコンを表示する

DataGridView1[0, 0].ErrorText = \セルの値を確認してください。\//インデックスが3の行にエラーアイコンを表示する

DataGridView1.Rows[3].ErrorText = \負の値は入力できません。\

在大量单元格需要错误提示时,也可以用CellErrorTextNeeded、RowErrorTextNeeded事件 [VB.NET]

'CellErrorTextNeededイベントハンドラ

Private Sub DataGridView1_CellErrorTextNeeded(ByVal sender As Object, _ ByVal e As DataGridViewCellErrorTextNeededEventArgs) _ Handles DataGridView1.CellErrorTextNeeded

Dim dgv As DataGridView = CType(sender, DataGridView) 'セルの値が負の整数であれば、エラーアイコンを表示する Dim cellVal As Object = dgv(e.ColumnIndex, e.RowIndex).Value If TypeOf cellVal Is Integer AndAlso CInt(cellVal) < 0 Then e.ErrorText = \負の整数は入力できません。\ End If

End Sub

'RowErrorTextNeededイベントハンドラ

Private Sub DataGridView1_RowErrorTextNeeded(ByVal sender As Object, _ ByVal e As DataGridViewRowErrorTextNeededEventArgs) _ Handles DataGridView1.RowErrorTextNeeded

Dim dgv As DataGridView = CType(sender, DataGridView)

If dgv(\ dgv(\e.RowIndex).Value Is DBNull.Value Then e.ErrorText = _

\少なくともColumn1とColumn2のどちらかには値を入力してください。\ End If End Sub [C#]

//CellErrorTextNeededイベントハンドラ

private void DataGridView1_CellErrorTextNeeded(object sender, DataGridViewCellErrorTextNeededEventArgs e) {

DataGridView dgv = (DataGridView)sender;

//セルの値が負の整数であれば、エラーアイコンを表示する object cellVal = dgv[e.ColumnIndex, e.RowIndex].Value; if (cellVal is int && ((int)cellVal) < 0) {

e.ErrorText = \負の整数は入力できません。\ } }

//RowErrorTextNeededイベントハンドラ

private void DataGridView1_RowErrorTextNeeded(object sender, DataGridViewRowErrorTextNeededEventArgs e) {

DataGridView dgv = (DataGridView)sender;

if (dgv[\ dgv[\e.RowIndex].Value == DBNull.Value) {

e.ErrorText =

\少なくともColumn1とColumn2のどちらかには値を入力してください。\ } }

27. DataGridView单元格内输入值正确性判断 [VB.NET]

'CellValidatingイベントハンドラ

Private Sub DataGridView1_CellValidating(ByVal sender As Object, _ ByVal e As DataGridViewCellValidatingEventArgs) _ Handles DataGridView1.CellValidating

Dim dgv As DataGridView = CType(sender, DataGridView) If dgv.Columns(e.ColumnIndex).Name = \AndAlso _ e.FormattedValue.ToString() = \Then '行にエラーテキストを設定 dgv.Rows(e.RowIndex).ErrorText = \値が入力されていません。\ '入力した値をキャンセルして元に戻すには、次のようにする 'dgv.CancelEdit()

'キャンセルする e.Cancel = True End If End Sub

'CellValidatedイベントハンドラ

Private Sub DataGridView1_CellValidated(ByVal sender As Object, _ ByVal e As DataGridViewCellEventArgs) _ Handles DataGridView1.CellValidated

Dim dgv As DataGridView = CType(sender, DataGridView) 'エラーテキストを消す

dgv.Rows(e.RowIndex).ErrorText = Nothing End Sub [C#]

//CellValidatingイベントハンドラ

private void DataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e) {

DataGridView dgv = (DataGridView)sender;

if (dgv.Columns[e.ColumnIndex].Name == \ e.FormattedValue.ToString() == \ {

//行にエラーテキストを設定 dgv.Rows[e.RowIndex].ErrorText = \値が入力されていません。\ //入力した値をキャンセルして元に戻すには、次のようにする //dgv.CancelEdit(); //キャンセルする e.Cancel = true; } }

//CellValidatedイベントハンドラ

private void DataGridView1_CellValidated(object sender, DataGridViewCellEventArgs e) {

DataGridView dgv = (DataGridView)sender; //エラーテキストを消す

dgv.Rows[e.RowIndex].ErrorText = null; }

28. DataGridView单元格输入错误值事件的捕获 [VB.NET]

'DataErrorイベントハンドラ

Private Sub DataGridView1_DataError(ByVal sender As Object, _ ByVal e As DataGridViewDataErrorEventArgs) _ Handles DataGridView1.DataError If Not (e.Exception Is Nothing) Then MessageBox.Show(Me, _ String.Format(\{1}) のセルでエラーが発生しました。\ vbCrLf + vbCrLf + \説明: {2}\ e.ColumnIndex, e.RowIndex, e.Exception.Message), _ \エラーが発生しました\ MessageBoxButtons.OK, _

MessageBoxIcon.Error) End If End Sub [C#]

//DataErrorイベントハンドラ

private void DataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs e) {

if (e.Exception != null) {

MessageBox.Show(this, string.Format(\{1}) のセルでエラーが発生しました。\\n\\n説明: {2}\ e.ColumnIndex, e.RowIndex, e.Exception.Message), \エラーが発生しました\ MessageBoxButtons.OK, MessageBoxIcon.Error); } }

输入错误值时返回原先数据 [VB.NET]

'DataErrorイベントハンドラ

Private Sub DataGridView1_DataError(ByVal sender As Object, _ ByVal e As DataGridViewDataErrorEventArgs) _ Handles DataGridView1.DataError e.Cancel = False End Sub [C#]

//DataErrorイベントハンドラ

private void DataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs e) {

e.Cancel = false; }

DataGridView控件用法合集(六)

29. DataGridView行排序(点击列表头自动排序的设置) 30. DataGridView自动行排序(新追加值也会自动排序) 31. DataGridView自动行排序禁止情况下的排序 32. DataGridView指定列指定排序

29. DataGridView行排序(点击列表头自动排序的设置) [VB.NET]

'並び替えができないようにする

For Each c As DataGridViewColumn In DataGridView1.Columns c.SortMode = DataGridViewColumnSortMode.NotSortable Next c

30. DataGridView自动行排序(新追加值也会自动排序) [VB.NET]

'フォームのLoadイベントハンドラ

Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load '自動的に並び替えられるようにする

Dim c As DataGridViewColumn

For Each c In DataGridView1.Columns c.SortMode = DataGridViewColumnSortMode.Automatic Next c End Sub

'Button1のClickイベントハンドラ

Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click If DataGridView1.CurrentCell Is Nothing Then Return End If

'並び替える列を決める

Dim sortColumn As DataGridViewColumn = _ DataGridView1.CurrentCell.OwningColumn '並び替えの方向(昇順か降順か)を決める Dim sortDirection As System.ComponentModel.ListSortDirection = _ System.ComponentModel.ListSortDirection.Ascending If Not (DataGridView1.SortedColumn Is Nothing) AndAlso _

DataGridView1.SortedColumn.Equals(sortColumn) Then sortDirection = IIf(DataGridView1.SortOrder = SortOrder.Ascending, _ System.ComponentModel.ListSortDirection.Descending, _ System.ComponentModel.ListSortDirection.Ascending) End If

'並び替えを行う

DataGridView1.Sort(sortColumn, sortDirection) End Sub

31. DataGridView自动行排序禁止情况下的排序 'ColumnHeaderMouseClickイベントハンドラ

Private Sub DataGridView1_ColumnHeaderMouseClick(ByVal sender As Object, _ ByVal e As DataGridViewCellMouseEventArgs) _ Handles DataGridView1.ColumnHeaderMouseClick Dim clickedColumn As DataGridViewColumn = _ DataGridView1.Columns(e.ColumnIndex) If clickedColumn.SortMode <> DataGridViewColumnSortMode.Automatic Then Me.SortRows(clickedColumn, True) End If End Sub

'RowsAddedイベントハンドラ

Private Sub DataGridView1_RowsAdded(ByVal sender As Object, _ ByVal e As DataGridViewRowsAddedEventArgs) _ Handles DataGridView1.RowsAdded Me.SortRows(DataGridView1.SortedColumn, False) End Sub

'CellValueChangedイベントハンドラ

Private Sub DataGridView1_CellValueChanged(ByVal sender As Object, _ ByVal e As DataGridViewCellEventArgs) _ Handles DataGridView1.CellValueChanged

If Not (DataGridView1.SortedColumn Is Nothing) AndAlso _ e.ColumnIndex = DataGridView1.SortedColumn.Index Then Me.SortRows(DataGridView1.SortedColumn, False)

DataGridView控件用法合集11

'行テンプレートのセルスタイルの背景色を黄色にするDataGridView1.DefaultCellStyle.BackColor=Color.Yellow25.DataGridView新追加行单元格默认值设置[VB.NET]'DefaultValuesNeededイベントハンドラPrivateSubDataGridView1_Def
推荐度:
点击下载文档文档为doc格式
1hgyr5zd2f62h60030pu
领取福利

微信扫码领取福利

微信扫码分享