GrapeCity社「VS2010で対応されないツール」をVS2010で使ってみる(1)
愛用ツール(TrueDBGrid.Net2.0、InputMan4.0、ActiveReports3.0:いずれもGrapeCity社)が、VisualStudio2010では「対応されない」模様です。 Visual Studio 2010 - .NET 製品の対応環境(GrapeCity社)
古いので切り捨てられるのは仕方のない事なのでしょう。しかし、新しいバージョンのTrueDBGridを手に入れようとしても ComponentOne Studio for Windows Forms 2010Jを購入しなければならず単品では購入出来ません。(パッケージ化するのはいいんだけど、単品で購入出来る道を残しておいてもらいたいものです)
それより何より「高価」ですので、簡単には購入出来ません..
上記ツールは「未対応(対応予定なし)」とのことですが、ちょっと動かしてみようと思います
開発環境
- OS:WindowsXP SP3 (32bit)
- VisialStudio 2010 SP1 (Visual Basic)
- .NET Framework 4
- InputMan For .NET 4.0J WindowsForms Version 4.0.2006.0908
- TrueDBGrid For .NET Version 2.0J(改訂第1版:1.4.20062)
- ActiveReports For .NET 3.0J Version 5.2.0.0431
1.とりあえず環境整備
ツールボックスには(多分)InputManなどが無いので、「アイテムの選択」を行う。
「ツールボックス アイテムの選択」に、表示されなかったので「参照ボタン」で直接参照した。
InputMan4 / TrueDBGrid2 / ActiveReports3は、とりあえずこれでOK。
問題は、ActiveReports3のレポートを追加できない事。
VS2005など以前のバージョンでは[プロジェクト]-[新しい項目の追加]でActiveReports3ファイルを選択できたが、VS2010では出てこない。
ひょっとしたら何とかしてテンプレートとして追加出来るのかも知れないが、よくわからないので、以下の手順。
- ActiveReportsを参照設定
- VS2005などで作った空のレポートを、[プロジェクト]-[既存項目の追加]で追加。
これでOK。後は必要に応じて編集するなり増やしたければコピーするなりしようと思う。
2.コントロールを配置して実行
とりあえずペタペタとコントロールを配置!
動きました。一見、何も問題ない様に見えます。
3.もう少し突っ込んでみよう
はい。普通に動きました。
Private dt As DataTable = Nothing
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim rpt As NewActiveReport1 = Nothing
Try
InitializeControls()
InitializeData()
Combo1.DataSource = dt
C1TrueDBGrid1.SetDataBinding(dt, "", True)
rpt = New NewActiveReport1
rpt.DataSource = dt
rpt.Run()
Viewer1.Document = rpt.Document
Catch ex As Exception
MessageBox.Show(ex.Message, "エラー発生", MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
If Not IsNothing(rpt) Then
rpt.Dispose()
End If
End Try
End Sub
Private Sub InitializeControls()
Try
With Date1
.HighlightText = GrapeCity.Win.Input.HighlightText.All
.DisplayFormat = New GrapeCity.Win.Input.DateDisplayFormat( _
"yyyy/MM/dd", "未設定", "未設定")
.Format = New GrapeCity.Win.Input.DateFormat( _
"yyyy/MM/dd", "未設定", "未設定")
.Value = Now
End With
With Edit1
.ImeMode = Windows.Forms.ImeMode.Hiragana
.HighlightText = True
.LengthAsByte = True
.MaxLength = 20
.Text = "あいうえおかきくけこさしすせそ"
End With
With Number1
.HighlightText = True
.DisplayFormat = New GrapeCity.Win.Input.NumberDisplayFormat( _
"###,##0", "", "", "-", "", "0", "未設定")
.Format = New GrapeCity.Win.Input.NumberFormat( _
"###,##0", "", "", "-", "", "0", "未設定")
.MinValue = 0
.MaxValue = 999999
End With
With Combo1
.DropDownStyle = ComboBoxStyle.DropDownList
.HighlightText = GrapeCity.Win.Input.HighlightText.All
.ValueMember = "SEQNO"
.DisplayMember = "Name"
End With
With Calendar1
.SelectedDate = Now
End With
With C1TrueDBGrid1
.AlternatingRows = True
.EvenRowStyle.BackColor = Color.Azure
.FilterBar = True
End With
Catch ex As Exception
Throw ex
End Try
End Sub
Private Sub InitializeData()
Dim i As Integer
Dim drow As DataRow
Try
dt = New DataTable
dt.Columns.Add("SEQNO", GetType(Integer))
dt.Columns.Add("Name", GetType(String))
For i = 0 To 99
drow = dt.NewRow
drow.Item("SEQNO") = i + 1
drow.Item("Name") = "No." & (i + 1).ToString
dt.Rows.Add(drow)
Next
Catch ex As Exception
Throw ex
End Try
End Sub
Private Sub Calendar1_SelectedDateChanged( _
ByVal sender As Object, ByVal e As System.EventArgs) _
Handles Calendar1.SelectedDateChanged
lblSelectDate.Text = Calendar1.SelectedDate.ToString("yyyy/MM/dd")
End Sub
とりあえず普通に動いているようです。今回は32bitだったので次回は64bitで確認してみようと思います。
履歴
- 2012/01/07
- 公開
