- PR -

Columns.Expression=IIF関数 以外について

投稿者投稿内容
さかもと
ぬし
会議室デビュー日: 2004/05/14
投稿数: 586
投稿日時: 2005-02-15 13:06
甕星様

FPDからの読込み時のボトルネックはもう本当にどうにもならないくらい大問題です(笑)
ただ,仕様上そこがどうしても外せないとの事なので仕方ない・・・。
進行状況の表示は確かに重要ですね。うまく見せる方法を検討します。

>コードに埋め込んだ場合に保守性の低下のほうが問題では。
これは全銀フォーマット(全国金融機関取扱標準●●??正式名忘れました)
で決まっているのでまず変更はありません。

今は別の手段として(根本的に変わるのですが)グリッド表示時に区分名を表示
させずにリスト出力時にクリレポで・・・とか色々と代替案を考えています。

でもおっしゃるように読込み時のボトルネックがどうにもこうにもならないので
進行状態の表示などと合わせて検討させて頂きます。

じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-02-15 13:54
じゃんぬねっと です。
駄レスです。

引用:

これは全銀フォーマット(全国金融機関取扱標準●●??正式名忘れました)
で決まっているのでまず変更はありません。



http://www.jagunma.net/densan/pcqa/13.html

確か、1:普通, 2:当座, 4:貯蓄, 9:その他 なんてのも決まっていたはず。
以前、あるプロジェクトで FD 読み確かに私も作りました。orz
_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
さかもと
ぬし
会議室デビュー日: 2004/05/14
投稿数: 586
投稿日時: 2005-02-15 14:23
さかもとです
じゃんぬねっと様

確かに決まってます(笑)それはもうガチガチに・・・。
汎用機でCOBOLでコテコテとまわす処理ならお手の物(というかこういった運用自体
が汎用機向け・・・)なのですが(笑)
お客様のほうでも私どもの方でもこうした取決めに対してはどうすることも出来ず
何かと不便を強いられてしまいます。

まあこれを決めた当初(いつかは分からないほど昔でしょうが)から大きな仕様変更が
無いところをみると優れた基準であると言えないこともないですけど・・・。
ボトルネックがFPD読取,書込みではあるのですが,作っていて面倒なのは中の
レコードが全て固定長で・・・というところでスペースの数とか0の数とかをもうチマチマ
と埋める作業が面倒の一部であります。

今,同件で「MTに1レコードで全件埋めて欲しい」との要望がありどうやって断ろうかと検討中・・・(汎用機のままにしておきましょうと言いたい)
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-02-15 20:44
コード:
 1:System.Data.DataSet data = new System.Data.DataSet();
 2:data.Tables.Add("マスタ");
 3:data.Tables[0].Columns.Add("コード", typeof(int));
 4:data.Tables[0].Columns.Add("文字", typeof(string));
 5:data.Tables.Add("テーブル");
 6:data.Tables[1].Columns.Add("参照", typeof(int));
 7:data.Tables[1].Columns.Add("マスタ文字", typeof(string));
 8:data.Relations.Add(data.Tables[0].Columns["コード"],data.Tables[1].Columns["参照"]);
 9:data.Tables[1].Columns["マスタ文字"].Expression = "Parent.[文字]";
10:data.Tables[0].Rows.Add(new object[] {1, "1番目"});
11:data.Tables[0].Rows.Add(new object[] {2, "2番目"});
12:data.Tables[0].Rows.Add(new object[] {3, "3番目"});
13:data.Tables[0].Rows.Add(new object[] {4, "4番目"});
14:data.Tables[0].AcceptChanges();
15:data.Tables[1].Rows.Add(new object[] {1, null});
16:data.Tables[1].Rows.Add(new object[] {2, null});
17:data.Tables[1].Rows.Add(new object[] {3, null});
18:data.Tables[1].Rows.Add(new object[] {4, null});
19:dataGrid1.DataSource = data.Tables[1];


 1行目から7行目は適切に。8行と9行目に注目。
 DataSetで、リレーションシップを設定します。すると、Expressionプロパティで"Parent"という予約語が使えるようになります。これは、リレーションシップの親テーブルを表します。リレーションシップで、この例だと"コード"と"参照"が対応しているため、参照にあるのと同じコードの行を探して、その"文字"列の値を設定するようになります。

_________________
さかもと
ぬし
会議室デビュー日: 2004/05/14
投稿数: 586
投稿日時: 2005-02-16 07:14
さかもとです。
Jitta様,誠にありがとうございます。
リレーションを書籍片手に四苦八苦していました(笑)
早速利用させていただくと共にしっかり勉強させて頂きます。

本当にありがとうございました。

スキルアップ/キャリアアップ(JOB@IT)