初めまして。C#でどういても分からないことがあって質問させていただきました。
現在、VisualStadio2008でForm1で入力した値を、ボタンを押すことでActiveReport3.0に渡し、
Form2のViewerにセットしようと考えているところです。
public Form1()
{
InitializeComponent();
}
private void print_Click(object sender, EventArgs e)
{
NewActiveReport1 report = new NewActiveReport1();
report.Run();
Form2 form2 = new Form2();
form2.setDocument(report.Document);
form2.Show();
}
private void Form1_Load(object sender, EventArgs e)
{
}
public Form2()
{
InitializeComponent();
}
public void setDocument(DataDynamics.ActiveReports.Document.Document doc)
{
this.viewer1.Document = doc;
}
private void viewer1_Load(object sender, EventArgs e)
{
}
public void ActiveReport_DataInitialize()
{
this.Fields.Add("1lbl");
this.Fields.Add("2lbl");
this.Fields.Add("txt1");
this.Fields.Add("txt2");
}
public bool ActiveReport_FetchData(object sender, DataDynamics.ActiveReports.ActiveReport.
FetchEventArgs eArgs)
{
try
{
m_reader.Read();
Fields["1lbl"].Value = m_reader["lbl1"].ToString();
Fields["2lbl"].Value = m_reader["lbl2"].ToString();
Fields["txt1"].Value = m_reader["txt1"].ToString();
Fields["txt2"].Value = m_reader["txt2"].ToString();
eArgs.EOF = false;
}
catch
{
eArgs.EOF = true;
}
return eof;
}
これをデバッグして、ボタンを押すと強制終了して、[ report.Run(); ]に
「Report Script Compile Error on line 15 Error = 型または名前空間名 'ActiveReport' は
名前空間 'DataDynamics.ActiveReports' に存在しません。アセンブリ参照が不足しています。」
と、表示されてしまいます。どうしたらよいでしょうか?
タイトルの通り、DB接続は行いません。また、Form1にはlabel2個、TextBoxが2個セットしてあります。
No.4ベストアンサー
- 回答日時:
DBを使わないはずなのにDataReaderが出てくる理由がよくわかりません……
http://intd.componentone.com/arJPhelp_Internal_v …
↑のURLあたりのコードをそのまま引っ張ってきたのかもしれませんが、
これはレポートスクリプトに書くコードではなく、本体側(NewActiveReport1側)に書くコードです。
(そもそも、要件的にFetchDataイベントを使うのが適切がどうかも疑問です)
このあたりが参考になるかと思います(バージョンは違うので注意)。
http://www.grapecity.com/tools/support/technical …
No.3
- 回答日時:
と思ったらバグ関係なかったorz
FetchDataイベントの引数はコード側とレポートスクリプト側とで異なりますので、
製品ヘルプを参照の上、正しい引数を指定してください。
↓コード側の書き方
public bool ActiveReport_FetchData(object sender, DataDynamics.ActiveReports.ActiveReport.
FetchEventArgs eArgs)
↓レポートスクリプト側の書き方
public bool ActiveReport_FetchData(bool eof)
この回答への補足
返答ありがとうございます。さっそく、ご指摘いただいた通りに修正を行ってみました。
ついでに、DataReaderの宣言が無かったので追加しました。
修正後のコードです↓
private DataReader dataReader;
public void ActiveReport_DataInitialize()
{
this.Fields.Add("1txt");
this.Fields.Add("2txt");
this.Fields.Add("1lbl");
this.Fields.Add("2lbl");
}
public bool ActiveReport_FetchData(bool eof)
{
Fields["1txt"].Value
= dataReader["txt1"].ToString();
Fields["2txt"].Value
= dataReader["txt2"].ToString();
eof = true;
return eof;
}
Report Script Compile Error on line 6 Error = 型または名前空間名 'DataReader' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。
No.2
- 回答日時:
質問文の中にあったのですね……。
どこからどこまでがどのファイルのコードなのかを明記していただけると助かります。
FetchDataイベントの引数が記憶しているものと違ったので調べてみたところ、
スクリプトエディタにバグがあったようです。
http://www.grapecity.com/tools/support/technical …
No.1
- 回答日時:
エラーメッセージに"Report Script Compile Error"と書いてあるのですから、
まず確認すべきはレポートのスクリプトです。
この回答への補足
回答ありがとうございます。レポートのスクリプトは、
public void ActiveReport_DataInitialize()
{
this.Fields.Add("1lbl");
this.Fields.Add("2lbl");
this.Fields.Add("txt1");
this.Fields.Add("txt2");
}
public bool ActiveReport_FetchData(object sender, DataDynamics.ActiveReports.ActiveReport.
FetchEventArgs eArgs)
{
try
{
m_reader.Read();
Fields["1lbl"].Value = m_reader["lbl1"].ToString();
Fields["2lbl"].Value = m_reader["lbl2"].ToString();
Fields["txt1"].Value = m_reader["txt1"].ToString();
Fields["txt2"].Value = m_reader["txt2"].ToString();
eArgs.EOF = false;
}
catch
{
eArgs.EOF = true;
}
return eof;
}
です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エンターキーを押すとOKボタン...
-
ユーザーコントロールを動的に...
-
大量のデータを読み込んで表示...
-
Javaでパラパラアニメを作成す...
-
typeid演算子を使用すると警告...
-
ボタンの複数割り当てについて
-
長方形を描いて、それを移動さ...
-
コンボボックスを使う時の警告
-
SortedSetならぬSortedListの良...
-
[C#.net]スレッド化された別フ...
-
System.err. printlnとSystem.o...
-
ダブルクォーテーションのrepla...
-
オブジェクトの中のプロパティ...
-
javaで質問です。 文字列2023/2...
-
C言語のポインターに関する警告
-
パソコンキーボードで時分秒を...
-
Javaで改行などが出来ないのです。
-
変数を動的に利用するには?
-
JPanelの重ね方/OverlayLayout他
-
JSPやサーブレットでSystem.out...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
大量のデータを読み込んで表示...
-
C#で、あるクラスのメンバーす...
-
Junitテストでvoid戻り値メッソ...
-
C#でのWNetAddConnection3の使...
-
C# 矢印キーの取得
-
C#で別のFormへ複数の値を返そ...
-
C# DataGridView列カスタマイズ
-
GetDIBits関数の使い方について
-
C# バイナリダンプを構造体に簡...
-
[C#.net]スレッド化された別フ...
-
ボタンの複数割り当てについて
-
C# visibleプロパティをfalseに...
-
C# 半角カナの文字化けについて
-
C# タスクバーを隠したフォーム...
-
C#でキーイベントが発生しない...
-
C# MouseHoverを何度も呼ぶには
-
C#から、C++で作成したdll内の...
-
ボタンのイベントで異なるウィ...
-
【Java】画像表示が出来ない!
-
StrutsのiterateタグでListに格...
おすすめ情報