2012-05-07 22 views
1

別のデータベースソースのデータに基づいて動的に作成されるカレンダー型テーブルを設計しようとしています。ASP.NETでテーブルを動的に作成し、各セルに複数のテキスト行と各セルをクリック可能にする

これは、基本的なデザインのアイデアの実例である:

はここに画像です:

link to the image


オブジェクトは土曜日に参照されたものを添加した場合は、別の列が追加されます月曜日のものが削除された場合、その列は消え、逆も同様です。

平日は列ヘッダーであり、四角は情報行を含むセルを表します。全体の各セルはクリック可能でなければなりません。

テーブル全体には1ヶ月しか表示されません。

これは実装に非常に時間がかかるかもしれないと思っていますが、それがすぐに再読して理解することができなくなってしまいます。したがって、誰かがカレンダーの月ビューを実装するより簡単な方法を持っていれば、各セルにいくつかの行の情報が格納され、セルのクリックイベントでServer.Transfer()を呼び出すことができれば理想的です。

私が知る限り、Calendarコンポーネントは、カレンダー内のセルの内容の編集をサポートしていません。それ以外には、どの方法が最善の方法になるかはわかりません。

私は何らかの形で質問を改善できる場合は、私にお知らせください。

+0

「Outlookスタイルカレンダー」で検索してください。あなたはかなりのリードを得るでしょう。 [この回答はSO](http://stackoverflow.com/a/980558/1223642)のフルカレンダーのリンクはかなり良い解決策として際立っています。 –

+0

あなたの質問をもう一度読んで、空の列を表示したくないことに気付きました。そのデザインには何らかの理由がありますか?無作為に欠落した曜日を表示するカレンダーは、エンドユーザーにとっては直感的ではないインターフェースのようです。 –

+0

これは標準のカレンダーではなく、平日に表示されたのは製品の所有者からの機能要求だけです。それはバーであり、カレンダーでは欲しいものはシフトです。シフトは同じ日に最も頻繁に起こります。静止日に固定されていない唯一の理由は、不規則なシフトを追加したり、将来の営業日を変更できるようにすることです。 –

答えて

1

私はあなたが望むのはカレンダーではなく、カレンダービューを表示したり、「予定」を追加/編集したり、クリックしたときの出来事のイベントを提供するスケジューラーコントロールだと思います。

This threadには、使用できるスケジューラコントロールが多数リストされていますが、そのうちのいくつかは無料です。ここで

は、同様の機能を実装するいくつかの追加のリンクです:

私はそれらのコンポーネントの1を再利用し、それらを考え研究するいくつかの時間を費やすと思います独自のソリューションを最初から実装するのにかかる時間を大幅に短縮できます。あなたが望むものが、それらのコントロールによってサポートされている共通のUIパターンに該当するなら、うまくいくでしょう。

一方、あなたが望むものは一般的な方法ではない場合は、あなたのアプローチを考え直すことができます。

+0

これは私が必要としていた答えではありませんが、まだ答えは_anです。あなたはあなたが提供している唯一の人でしたので、あなたの答えを受け入れたものとしてマークします。 –

関連する問題