1

さまざまな種類のレポートを開くためのリンクを表示するフォームに取り組んでいます。このシステムにはさまざまなタイプのユーザーがいるため、ユーザーはアクセスできるレポートのタイプへのリンクのみを表示できる必要があります。

現在、この設定方法は、LinkLabels の ArrayList を持っていることですが、問題は、ArrayList 内の各 LinkLabel に対して LinkClicked イベントを作成して、各レポートに固有のフォームを表示する方法です。 .

4

3 に答える 3

2

実際には、LinkLabelのCommandNameラベルにロードされるレポートの名前を使用して、すべてのリンクラベルに対して単一のイベントハンドラー(ArrayListのデータバインディングプロセス中にハンドラーを追加)があります。イベントハンドラーが起動したら、CommandName属性を確認し、適切な機能を起動して、指定されたレポートをロードします。

于 2008-09-26T18:50:19.280 に答える
2

リスト内のすべての LinkLabel に同じイベント ハンドラーを適用し、sender 引数から特定の LinkLabel を取得できます。

于 2008-09-26T19:06:31.597 に答える
0

すべての動的な LinkLabel インスタンスに対して単一のイベント ハンドラーを使用することを強くお勧めします。

私は通常、キーが LinkLabel インスタンスで、値がクリック イベント内で使用されるもの (該当する場合はレポート インスタンスなど) である Hashtable を使用します。

次に、使用するクリックイベントで(たとえば)

Report r = m_TheTable[sender] as Report;
if( r != null ) r.DoSomething();
于 2008-09-26T19:00:41.500 に答える