- PR -

C1TrueDBGridについて

1
投稿者投稿内容
S_Tatsu
ベテラン
会議室デビュー日: 2005/05/13
投稿数: 58
お住まい・勤務地: 東京
投稿日時: 2005-07-06 17:15
<開発環境>
WindowsXP professional SP2
Visual Studio.NET Version7.0.9486
.NET Framework 1.0 Version1.0.3705
言語:VC#.NET

いつもお世話になっております。
この度、開発でC1TrueDBGridというグリッドコントロールを使用することになったのですが
次のような動作をさせたいのですが、よい方法はございますでしょうか?

1.グリッドにA、B、Cフィールドをもつデータセットを設定し、グリッド上で入力できるようにする。
2.Aフィールドの値が'1'のレコードは編集不可にしたい。
3.または可能であればAフィールドの値が'1'の場合Bフィールドのみ編集不可にしたい。

というような動作なのですが現在サンプルなどを見ながら調べております。
どなたかこのような処理をご存知でしたらぜひご教授お願い致します。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-07-06 20:21
引用:

S_Tatsuさんの書き込み (2005-07-06 17:15) より:

この度、開発でC1TrueDBGridというグリッドコントロールを使用することになったのですが次のような動作をさせたいのですが、よい方法はございますでしょうか?


 標準以外のモジュールを使う場合は、そのモジュールの提供者に尋ねてください。他の人も、そのモジュールを使っているという可能性は、低いことが予想されます。

 モジュールの提供者がどうしても教えてくれない場合は、そのモジュールの入手先、試用できるかどうか、きれいに削除できるかどうかの情報を添えてください。
_________________
よねKEN
ぬし
会議室デビュー日: 2003/08/23
投稿数: 472
投稿日時: 2005-07-07 01:22
BofreColEditイベントを使用してセル単位の編集不可制御ができます。
GrapCityのサイトにサンプルもあります。
S_Tatsu
ベテラン
会議室デビュー日: 2005/05/13
投稿数: 58
お住まい・勤務地: 東京
投稿日時: 2005-07-07 12:08
Jitta様
よねKEN様

ご返信ありがとうございます。
BofreColEditイベントでセル単位で編集不可は可能なのですね。
欲をいえば、ユーザーに編集不可のセルがわかるようにセルに色をつけるか
Enable=Falseのような状態で表示させたいのですが、グリッドに設定するデ
ータ量がMAXで3万件くらいまでありますので、ループで1行ずつセルの値を
みながら設定するのではなくあらかじめフィールドにそのような条件を設定
できないものかと悩んでおります。Excelの条件付書式のようなことができれ
ば理想なのですが。

jitta様、情報が不足していて申し訳ございませんでした。

入手先:http://www.grapecity.com/japan/support/database/P7_163.htm
試用:ライセンスキーを入力せずにインストールするとトライアル版として
インストールされ広告が表示されるだけで機能に制限はないようです。
プルグラムのメニューのアンインストールよりきれいに削除できるようです。
よねKEN
ぬし
会議室デビュー日: 2003/08/23
投稿数: 472
投稿日時: 2005-07-08 08:19
引用:

BofreColEditイベントでセル単位で編集不可は可能なのですね。
欲をいえば、ユーザーに編集不可のセルがわかるようにセルに色をつけるか



FetchCellStyleイベントでセル単位の色分けも可能です。
同じくGrapCityのサイトにサンプルもあります。

現在、S_Tatsuさんが既に開発中なのか、開発前の調査段階なのかわかりませんが、
提供サイトのサンプルやバグレポートくらいは十分に調べましょう。

私は、今のプロジェクトでC1TrueDBGridを使っていて、
外部設計時に設計者がセル単位の編集不可、色分けを行うような
微妙に難易度の上がる設計をしていたので、実現可能かどうか以前調査しました。
GrapeCityのサイトでちょこちょこっと調べれば簡単に可能とわかりましたよ。
試用版もありますから、実際に動作させての実験もできます。

引用:

グリッドに設定するデータ量がMAXで3万件くらいまでありますので、



C1TrueDBGridに限らず一般的に表系コンポーネントで
3万件ものデータを扱うことはしないと思います。
そんな無茶をしているプロジェクトは今まで経験がありません。

その前提は見直した方がよくないですか?
私のところのプロジェクトでは300件での制限を設けてます。
(それ以上の量になる場合はファイル出力できるようにしています)
業務的に300件では仕様を満たせない場合でも
せいぜい2000件程度までにしています。
(レスポンス5秒ルールがありますが、オーバーしてます(汗)
#まぁグリッドだけの理由でなく、C/S間のデータ通信量などの
#問題も考慮してのことでしょうけど

引用:

ループで1行ずつセルの値をみながら設定するのではなく
あらかじめフィールドにそのような条件を設定できないものかと悩んでおります。



コンポーネント使用側がループ処理をすることはありません。
例えば、FetchCellStyleイベントは見えている全セルに対して
イベントが発生しますので、イベント内の処理としては、
そのセルの状態を判定し、色を付けたりするロジックを組み込むだけです。

プロパティであらかじめ設定しておくようなことをイメージされているの
かもしれませんが、こういうことはできなさそうです。

S_Tatsu
ベテラン
会議室デビュー日: 2005/05/13
投稿数: 58
お住まい・勤務地: 東京
投稿日時: 2005-07-08 18:02
よねKEN様
ご丁寧な回答ほんとうにありがとうございます。
よく調査せずに質問してしまって申し訳ございませんでした。
私もGrapCityのサイトを調べてみたところよくある質問集のようなページに
似たような処理のサンプルをみつけるとこができました。
FetchCellStyleイベントでグリッドを表示するさいに1セルずつ条件にマッチ
するか判断すれば可能なのですね。
データ量なのですが、件数は減らすことはできなくて一括で編集したいという
要望ですのでグリッド系コントロール以外でなにかよい方法がないか考えてみ
たいと思います。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-07-08 23:16
なんとなくいっしょだと思った。

_________________
S_Tatsu
ベテラン
会議室デビュー日: 2005/05/13
投稿数: 58
お住まい・勤務地: 東京
投稿日時: 2005-07-11 11:21
Jitta様
すいません、いろいろな方の意見を聞きたいなと思いGotDotNetの方にも
書いていたのですが、複数掲示板に書くのは好ましくないことなのですね。

グリッドの方なのですが、検索条件などを追加して表示するデータを絞り
こむように変更しようかと考えております。
1

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