DataGridViewでソートを許可しない

DataGridViewに標準の「列でソート」機能
便利なようで、不便な時があります。

ソートを禁止するには、DataGridViewの各列の
SortModeを
DataGridViewColumnSortMode.NotSortableに
するのですが、ループで処理するとスッキリします。
  For Each dgvColumn As DataGridViewColumn In [DataGridView].Columns
    dgvColumn.SortMode = DataGridViewColumnSortMode.NotSortable
  Next dgvColumn


この記事の全文を読む....

TextBoxの名前を指定して値を取得する

業務アプリではひとつの画面上でたくさんの入力フィールド(主にTextBox)を配置することも多いです。
たとえば
要素11、要素12、要素13
要素21、要素22、要素23
 ↓
要素61、要素62、要素63
みたいな時です。
こういう時は後処理も考えてDataGridViewでやることが多いんですが、他の人に頼むと決まってTextBoxをびっしり並べてくれます。

そんな眩暈がするようなフォームはさくっとループで処理したいですよね

  For y As Integer = 1 To 6
   For x As Integer = 1 To 3
    Dim tb As Control = Me.Controls("C" & y & x)
    Parameters("C" & y & x).Value = DirectCast(tb, TextBox).Text
   Next
  Next

この記事の全文を読む....

N700系で無線LAN使ってるんだけど結構快適!!

techEDに参加しています。
ひょんなことから製品を提供いただいたInfragistics社の営業さんにもご挨拶できました。

しかし今は急に仕事のトラブルで急遽大阪に呼び戻された帰りの新幹線の中

N700系で無線LAN使ってるんだけど結構快適!!
朝の大阪に戻る新幹線もN700系だったんだけど、機器のトラブルか何かでまったく使えなかった。
そのままだったらやっぱりダメダメだなって誤解したままだったかもしれない。
これなら東京-大阪間の移動中のための通信カードはいらないかもね

ただここ最近の東京出張は飛行機ばかりなんだけど

貴重なtechED2日目を完全に棒に振っての体験でした

この記事の全文を読む....

請求締日から請求締めの対象期間を

請求締日から請求締めの対象期間を取得するコード
とりあえず期待した動きはしているみたい

期待する動作
・締グループ(締日)と請求書発行日を設定すると、請求締めの対象期間の開始日と終了日を取得できる。
・請求書発行日が当月の締日(締グループ)より前の時は前月の対象期間を返す。
・月末の扱いをちゃんとする(2月や小の月における締めグループ:31の扱い)

まず各値を格納するクラスから
 Private Class 請求締日の情報
  Public 締グループ As Integer
  Public 請求書発行日 As Date
  Public 期間_開始日 As Date
  Public 期間_終了日 As Date
 End Class
締グループ:何日締めか?(整数)月末締めは31を設定する
請求書発行日:請求書を発行する日
期間_開始日:請求書の締め期間の開始日
期間_終了日:請求書の締め期間の終了日
です。

次に実際のコードはこんな感じ?
 Private Sub 締日設定(ByRef 締日 As 請求締日の情報)
  Dim 締グループ As Integer = 締日.締グループ  '締日の日付
  Dim 請求書発行日 As Date = 締日.請求書発行日

  Dim 日付_請求書発行日 As Integer = 請求書発行日.Day

  Dim 当月 As DateTime = dtp請求書発行日.Value
  Dim 前月 As DateTime = CDate(当月.Year & "/" & 当月.Month & "/1").AddMonths(-1)  '前月の1日
  Dim 来月 As DateTime = CDate(当月.Year & "/" & 当月.Month & "/1").AddMonths(+1)  '来月の1日
  Dim 当月末日 As Date = 来月.AddDays(-1)  '来月の1日の1日前が当月の末日

  '月末日かどうか調べる
  If 請求書発行日.Date.Equals(当月末日.Date) Then
   'なにもしない
  Else
   '締日より前の発行日なら前月の請求範囲を設定
   If 締グループ - 日付_請求書発行日 > 0 Then
    当月 = 当月.AddMonths(-1)
    前月 = 前月.AddMonths(-1)
    来月 = 来月.AddMonths(-1)
   End If
  End If

  Dim 締期間_終了日 As Date
  If Not Date.TryParse(当月.Year & "/" & 当月.Month & "/" & 締グループ, 締期間_終了日) Then
   締期間_終了日 = CDate(来月.Year & "/" & 来月.Month & "/1").AddDays(-1)
  End If

  Dim 締期間_開始日 As Date
  If Not Date.TryParse(前月.Year & "/" & 前月.Month & "/" & 締グループ + 1, 締期間_開始日) Then
   締期間_開始日 = CDate(CDate(当月.Year & "/" & 当月.Month & "/1"))
  End If

  締日.期間_開始日 = 締期間_開始日
  締日.期間_終了日 = 締期間_終了日
 End Sub

使うときには
 Dim 締日の情報 As New 請求締日の情報
 Dim 締期間_開始日 As Date
 Dim 締期間_終了日 As Date

 締日の情報.締グループ = 31
 締日の情報.請求書発行日 = System.DateTime.Today '今日の場合

 Call 締日設定(締日の情報)
 
 '値を取得する
 締期間_開始日 = 締日の情報.期間_開始日
 締期間_終了日 = 締日の情報.期間_終了日

とりあえずこれで使ってみよう

この記事の全文を読む....

twitterを貼り付けてみた

どう活用していけるかわからないけど、twitterを貼り付けてみた

[twitterのホームページ]→[設定]→[ユーザー情報]の[その他のURL:]にこのブログのアドレスを設定して、設定を保存する。

そのあと[(あなたのWEBサイトにもTwitterを表示させよう)]のリンクをクリックする。
[Blogger]用の設定もあるんだけど今回は[other]を選択しました。
[other]を選択すると[フラッシュウィジェット]、[HTMLウィジェット]が選べますが今回は[HTMLウィジェット]にしました。
ウイザード(?)を進んでいくと、HTMLのコードが表示されるのでそれをコピーする。

次は[Blogger]側の設定
ログインして、[レイアウト]のタブを選択して[ガジェットの追加]をクリックする。
[HTML/JavaScript]を追加して、[twitterのページ]で表示されたHTMLのコードを貼り付けて保存する。
ガジェットが追加されたレイアウトを保存して終了

この記事の全文を読む....