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
- 公開