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