問題タブ [c1flexgrid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1047 参照

c# - e.Graphics が描画される領域 (ビューポート) を調整するにはどうすればよいですか?

を使用PrintDocument.Print()して、データ グリッド (C1FlexGrid) といくつかのヘッダーおよびフッター情報を印刷する印刷プロセスを開始しています。ちょっと複雑な印刷工程です。私は標準的なPrintDocument方法を使用していますが、ページにヒットさせたいものがあるため、起こっていることすべてを制御しています.

私が抱えている問題は、グリッド コントロールが描画される領域を縮小したいということです。ヘッダーとフッターを描画するとき、それらが消費するスペースと、グリッドが占有するために残すべきスペースを計算しています。グリッド コントロールには独自のPrintDocumentGridRendererクラスがあり、PrintPage()これを取得して PrintDocument のGraphicsオブジェクトにグリッドをレンダリングするために呼び出すメソッドを提供します。

グリッドが収まる領域を制限する方法がわかりませんがヘッダー/フッターを既に描画し、残りのスペースが何であるかを確認してから実行してください。

ここにいくつかのコードがありますが、私が本質だと思うものに大幅に取り除かれています:

PrintDocument_PrintPage()オブジェクトに変換を適用していることがわかりGraphicsます。これにより、グリッドが所定の位置にスクートされ、ヘッダーの下に配置されます。

スクリーンショット:

ここに画像の説明を入力

だから、質問:

そのグリッドの下部がフッターのすぐ上になるように、領域をボトムアップで縮小したいと思います。右下隅を見ると、レンダリングされたグリッド イメージが既に描画したフッターに重なっていることがわかります。そして、それが私が必要としている助けです。Graphicsのようなことをせずに描画スペースを縮小するにはどうすればよいですかScaleTransform()。これはまったく正しい考えではないようです。

0 投票する
1 に答える
4612 参照

c1flexgrid - c1FlexGrid 列 有効 無効

Windows フォームで C1FlexGrid を使用しています。

グリッドにチェックボックス型の SELECT 列があります。

フォームのグリッドの外側に編集ボタンがあります。

最初に、グリッドの [選択] 列を無効にします。

[編集] ボタンをクリックすると、[選択] 列を有効にしたい (各行にチェックを入れることができるようにするため)

保存を押したら、列の選択を再度無効にします。

何か案が ?

0 投票する
1 に答える
3775 参照

c# - ComponentOne DataTree FlexGrid の行スタイルの設定

子グリッドを持つ FlexGrid である ComponentOne DataTree を使用しています。親グリッドには、チェックボックスである「選択」列と読み取り専用の別の列の 2 つの列があります。子グリッドには 5 つの列があります。最初はチェックボックスで、残りの 4 つは読み取り専用です。デフォルトでは、読み取り専用の列は灰色で表示されます。グリッドのデータ ソースである DataTable 列を ReadOnly に設定します。ヘッダー以外の列の背景をデフォルトで白にしたい。どちらのグリッドも更新されません。

スタイルをメンバー変数として定義し、Initialize メソッドでスタイルを作成します。

これを設定する OwnerDrawCell メソッドは次のとおりです。

グリッドが行スタイル設定を取得しないのはなぜですか?

ありがとうグロリア

0 投票する
2 に答える
1384 参照

c# - C# でグリッドのさまざまなレベルにさまざまなイベント ハンドラーを作成する

ComponentOne の DataTree Grid を使用しています。現在、DataTree グリッドには 2 つのレベル (親と子) があります。各グリッドの各行には、ユーザーが行を「選択」できるチェックボックス列があります。ユーザーが親行を選択すると、flexgrid_CellChecked イベントが発生します。子グリッドが選択されると、発生するイベントは flexgrid_ChildCellChecked です。DataTree に 3 番目のレベルを追加し、最も内側のグリッドのチェックボックスが選択されたときに発生する対応するイベントを追加したいと考えています。それを flexgrid_ChildChildCellChecked と呼びましょう。

このイベントは、DataTree クラスの Expand (int row) メソッドでインスタンス化されます。問題は、最初の子 (レベル 2) が展開されるときに、イベント ChildCellChecked および ChildChildCellChecked をハンドラーとして追加できることです。2 番目の子 (レベル 3) が展開されると、これらのイベントは両方とも null になります。

これは、Expand メソッドを持つ DataTree クラスです。

2 番目のレベルのグリッドには ChildCellChecked を、3 番目のレベルのグリッドには ChildChildCellChecked というイベントを作成したいと思います。

グリッドは正しく表示されており、展開したり折りたたんだりできます。しかし、第 3 レベルのグリッドでチェックボックスをクリックしても、イベントは発生しません。

イベント ハンドラーを各レベル グリッドに関連付けるにはどうすればよいですか?

アップデート

コード スニペットの 1 つを使用して展開されているレベルを特定すると、レベルが 2 の場合、ChildChildCellChecked イベントは null になります。

第 1 レベルの呼び出し時と第 2 レベルの呼び出し時にメソッド Expand() が呼び出されたときのデバッグ モードでのスクリーン ショットを示すドキュメントを添付しました。

Expand() の最初のレベルの呼び出し中に、ChildCellChecked が作成されます。
Expand() の第 2 レベルの呼び出し中、ChildChildCellChecked は null です。これにより、例外が発生します。

Expand() への 2 番目のレベルの呼び出し中にデリゲート ChildChildCellChecked が null である理由がわかりません。

添付のスクリーン ショットは、エラーをよりよく示すことができます... デバッグ モード中に 2 つのスクリーン ショットを撮ります。

最初のグリッドが拡張されます。これは、親グリッドが最初の子に展開されたときです。両方のイベントが定義されていることがわかります。ChildCellCheck のみが作成されています。 最初の呼び出しで ChildCellChecked イベントに委譲する Expand() 最初の呼び出しで ChildChildCellChecked イベントに委譲する Expand()

2 番目のグリッドが拡張されます。最初の子グリッドを展開して 2 番目のレベルのグリッドを表示すると、次のエラーが発生します。 ChildChildCellChecked デリゲートを割り当てるための Expand() の 2 回目の呼び出し中に例外を示すエラーが発生しました

実際には、Expand() への最初の呼び出し時に、両方のデリゲートがそれぞれのイベント メソッドに関連付けられます。Expand() の 2 回目の呼び出しでは、両方のデリゲートが null です。

子グリッドが作成されると、レベルに関係なく、その子グリッドのイベント ハンドラーが作成されると考えていました。2 番目のレベルのグリッドに 2 番目のイベント ハンドラーは必要ないということです。チェックボックスがクリックされると、イベントが発生し、イベント メソッド内で、イベントを発生させた子グリッドのレベルを決定できます。

グロリア

0 投票する
1 に答える
3288 参照

vb.net - C1FlexGird で特定のセルのスタイルを設定する方法は?

C1FlexGird のセルを通貨形式で表示する必要があるため、通貨形式でスタイルを作成し、セルに値を割り当てた後にスタイルを適用しようとしています。グリッドが読み込まれるとき、セル値には書式設定が含まれません。助けてくれてありがとう!

0 投票する
1 に答える
1464 参照

c# - C1FlexGrid のセルからコピーして貼り付ける方法は?

あるセルから別のセルにコピーして貼り付けたい / C1FlexGrid 選択した赤いセルからコピーして他の値をここに貼り付けます - 表示された画像

選択した赤いセルからコピー/画像はこちら

ここに画像の説明を入力

KeyDownなどのイベントはありますか

サンプルコードはありますか?

0 投票する
1 に答える
707 参照

merge - C1FlexGrid : 結合セル/動的結合のチェック

私はいくつかの行が列1である共通の識別子に基づいてマージされているグリッドを持っています

  1. 最初の列がマージされているかどうかを確認したいのですが、2番目のマージされた行は、3番目の列の後の前の列のように異なる色になるはずですが、それは起こっていません

  2. 最初の列に基づいて前の列 (5,6,7,8,10,14) をマージする必要がありますが、最初の列をマージするのと同様に、+4.50 などの共通の値がマージされているため、前の列をマージしません。 2 番目と 3 番目と 4 番目のレコードの場合は、それ自体のレコードに対してのみマージする必要がありますが、同じ値のため、3 つのレコードすべての値をマージします

親切に、私はこれでひどく立ち往生しているので助けてください

私は持っているここに画像の説明を入力