Form Loadの実装
受注ヘッダー部の初期化、受注ディテール部の初期化、受注明細データグリッドビューの初期化処理を、受注エントリーのフォームロードプロシジャーにプログラミングします。
ヘッダー・明細の初期化
【受注明細データグリッドビューのカスタマイズ】

- 列を自動生成しない
- 列幅を自動調整
- 商品コード列・商品名列・受注数量列・受注単価列・受注金額列を作成
- バインディングソース(BindingSource)を使って、明細行リストと連結
- ボタンの活性不活性設定
【受注ヘッダー部の初期値】
- システム日付の取得
- ラベル・テキストボックスのクリア
- フォーカスの設定
- ボタンの活性不活性設定
【受注ディテール部の初期値】
- 受注明細リストのクリア
- 合計金額のクリア
- ラベル・テキストボックスのクリア
- ボタン
ソースリストの枠内をクリックすると全選択できます。
' データグリッドビューのデータ連結
Private bindingSrc As New BindingSource
' 受注明細リスト
Private meisaiList As New List(Of ClsInsertDetailRow)
'*******************************************************
' フォームロード処理
'*******************************************************
Private Sub FormJuchuEntry_Load( _
ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
' 受注明細データグリッドビュー初期化
InitialDgvMeisai()
' 受注ヘッダー部初期化
InitialHeader()
' 受注ディテール部初期化
InitialDetail()
End Sub
'*******************************************************
' 受注明細データグリッドビュー初期化
'*******************************************************
Sub InitialDgvMeisai()
Try
'---<<データグリッドビューDgvOrderの列スタイル >>---
' 列を自動生成しない
DgvMeisai.AutoGenerateColumns = False
' 列幅を自動調整
DgvMeisai.AutoSizeColumnsMode = _
DataGridViewAutoSizeColumnsMode.AllCells
' テキストボックス列の生成
Dim textColumn(4) As DataGridViewTextBoxColumn
' 【商品コード】列を作成する
textColumn(0) = New DataGridViewTextBoxColumn()
' データソース項目とバインド
textColumn(0).DataPropertyName = "ShohinCode"
' DataGridViewのヘッダータイトル設定
textColumn(0).HeaderText = "商品コード"
' 【商品名】列を作成する
textColumn(1) = New DataGridViewTextBoxColumn()
' データソース項目とバインド
textColumn(1).DataPropertyName = "ShohinMeisho"
' DataGridViewのヘッダータイトル設定
textColumn(1).HeaderText = "商品名"
' 【受注数量】列を作成する
textColumn(2) = New DataGridViewTextBoxColumn()
' データソース項目とバインド
textColumn(2).DataPropertyName = "JuchuSuryo"
' DataGridViewのヘッダータイトル設定
textColumn(2).HeaderText = "数量"
' DataGridViewセルの文字列右詰め設定
textColumn(2).DefaultCellStyle.Alignment = _
DataGridViewContentAlignment.MiddleRight
' 【受注単価】列を作成する
textColumn(3) = New DataGridViewTextBoxColumn()
' データソース項目とバインド
textColumn(3).DataPropertyName = "JuchuTanka"
' DataGridViewのヘッダータイトル設定
textColumn(3).HeaderText = "単価"
' DataGridViewセルの文字列右詰め設定
textColumn(3).DefaultCellStyle.Alignment = _
DataGridViewContentAlignment.MiddleRight
' DataGridViewセルの書式設定
textColumn(3).DefaultCellStyle.Format = "#,##0"
' 【受注金額】列を作成する
textColumn(4) = New DataGridViewTextBoxColumn()
' データソース項目とバインド
textColumn(4).DataPropertyName = "JuchuKingaku"
' DataGridViewのヘッダータイトル設定
textColumn(4).HeaderText = "金額"
' DataGridViewセルの文字列右詰め設定
textColumn(4).DefaultCellStyle.Alignment = _
DataGridViewContentAlignment.MiddleRight
' DataGridViewセルの書式設定
textColumn(4).DefaultCellStyle.Format = "#,##0"
' 生成列を追加する
DgvMeisai.Columns.AddRange(textColumn)
'----- <<BindingSource:データ連結設定 >>-----
bindingSrc.DataSource = meisaiList
DgvMeisai.DataSource = bindingSrc
Catch ex As Exception
' 例外が発生した時の処理
MessageBox.Show(ex.ToString, "例外発生")
End Try
End Sub
'*******************************************************
' 受注ヘッダー部初期化
'*******************************************************
Sub InitialHeader()
Try
' システム日付を受注日にセット
LblJuchuBi.Text = _
CStr(ClsHanbaiKanriDBIO.GetSysDate)
' ヘッダー部クリア
TxtJuchuBango.Text = Nothing
TxtTokuisakiCode.Text = Nothing
LblTokuisakiMeisho.Text = Nothing
LblTokuisakiJusho.Text = Nothing
' 受注番号にフォーカス
TxtJuchuBango.Focus()
' 得意先コードを入力可能
TxtTokuisakiCode.Enabled = True
' 得意先確定ボタンを押下不可
BtnTokuisakiKakutei.Enabled = True
' 得意先変更ボタンを押下不可
BtnTokuisakiHenko.Enabled = False
Catch ex As DBIOException
' DBIO例外が発生した時の処理
MessageBox.Show(ex.Message, "DBIO例外発生")
Catch ex As Exception
' 例外が発生した時の処理
MessageBox.Show(ex.ToString, "例外発生")
End Try
End Sub
'*******************************************************
' 受注ディテール部初期化
'*******************************************************
Sub InitialDetail()
Try
' 受注明細リストクリア
bindingSrc.Clear()
' 受注合計金額クリア
LblGokeiKingaku.Text = "0"
' 明細行クリア
TxtShohinCode.Text = Nothing
LblShohinMeisho.Text = Nothing
NudSuryo.Value = 1
LblJuchuTanka.Text = Nothing
lblJuchuKingaku.Text = Nothing
' 明細行削除ボタン押下不可
BtnGyoSakujo.Enabled = False
' 明細行変更ボタン押下不可
BtnGyoHenko.Enabled = False
Catch ex As Exception
' 例外が発生した時の処理
MessageBox.Show(ex.ToString, "例外発生")
End Try
End Sub