Calc(89)日付入力ダイアログの例

公開日: 2018年07月04日 更新日: 2019年05月11日

旧ブログ

t f B! P L
1週ごとにスクロールする日付入力ダイアログです。ダイアログの大きさはドラッグで変更できますが、コントロールの配置は変化しません。

前の関連記事:Calc(88)入力履歴を保持するダイアログと定型句を保持するダイアログの例


日付入力ダイアログの例


DialogsformyR2.ods

仕組みはCalc(88)入力履歴を保持するダイアログと定型句を保持するダイアログの例と同じです。

1行目にdatedialog1という文字列のある列の2行目以降をダブルクリックすると日付選択ダイアログが出現します。


ダイアログを開いた時に数値フィールドコントロールにフォーカスをあてているので、マウスホイールを回すと週が入れ替わっていきます。

グリッドコントロールの行をダブルクリックするとその日付がセルに入力されます。


ダブルクリックしたセルにすでに日付シリアル値が入力されているときは、その値を基準にして週を表示します。
(2018.9.5追記。マウスのスクロールボタンを上にスクロールすると数値フィールドの値が増加するので日付が未来になっていきます。これは直感と食い違うので数値フィールドモデルのValueStepを1ではなく-1にした方がよいです。)

日付入力ダイアログを生成するモジュール


datedialog1.py

このモジュールにあるの関数createDialog()で日付入力ダイアログを生成します。
createDialog(xscriptcontext, enhancedmouseevent, dialogtitle, formatstring=None)
xscriptcontextはXSCRIPTCONTEXT、 enhancedmouseeventはXEnhancedMouseClickHandlerのメソッドの引数、dialogtitleはダイアログのタイトルにする文字列(ダイアログのデータを保存する名前にも使用)、formatstringは日付を入力するシートのセルの書式の書式文字列を渡します。

formatstringを渡さない時は、セルが日付書式が設定されていないときは、日付のシリアル値が表示されます(Calc(31)セルへ日付を入力する方法参照)。

次の関連記事:Calc(90)ちょっと気になるところの設定の変更方法

ブログ検索 by Blogger

Translate

«
Jul. 2018
»
Sun
Mon
Tue
Wed
Thu
Fri
Sat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Created by Calendar Gadget

QooQ