もこたんブログ@mocuLab(・ω・)

Programming & Designing

Linq to EntitiesでCastしたいが…

SQL Serverへ接続。
Linq to EntitiesでCastってできなかったっけ? 文字列(char)で数字が格納されているのを、C#からはintで比較したい。

Linq to Entities内でユーザー定義メソッドを使って変換しておこうとしたが ユーザー定義メソッドはSQLに変換できないため、Linq to Entitiesでは使えず以下のような例外が発生する。

「メソッド '〇〇〇(〇〇〇)' は LINQ to Entities では認識されないため、ストア式に変換できません。」

f:id:mocotanus:20180517123823p:plain

Convert.ToInt32を試す→だめだった…

↓その後...(´・ω・`)

結局見つけきれず、SQLを直接書いて(SQL ServerのCASTを使って)終わった…。。

StringBuilderでクエリを用意。。
WHERE ~
AND CAST(COLNAME AS INT) = @NUMBER

@NUMBERにはC#側からint型のパラメータをセット。

参考
CAST および CONVERT (Transact-SQL)
https://docs.microsoft.com/ja-jp/sql/t-sql/functions/cast-and-convert-transact-sql?view=sql-server-2017

ファミマのデビルズチョコケーキ食べてみた

おやつハンターもこたん
ファミマのデビルズチョコケーキ
f:id:mocotanus:20180512035337g:plain

クリスタルレポート PDF出力すると間に余分なページが作成されてしまう

レポートで詳細セクションとページフッターの間に余白ができてしまう
http://microsoft.public.jp.access.narkive.com/hxHMSRIj

引用↓
ページヘッダー+詳細セクション+ページフッター+プリンタ余白の合計が実際の用紙より少しだけ長さが少なかったのです。
余白をコントロールしたら直りました。

 

↑の対応で直りました!
12年前の情報が役に立つってどうなんだ>クリスタルレポート

 

f:id:mocotanus:20180425172645p:plain

上の画像のように、見えるものがはみ出ていればすぐに気づけるだろうけど、見えないものがはみ出ている状態になっていると気づきにくい。

印刷範囲を超えて出力内容があると、そこまで印刷してくれてしまっているらしい。

 

画面上ではみ出てないと思っても空白ページができてしまうときは、ページ設定の余白を小さくして、本当にはみ出していないか確認してみる。

f:id:mocotanus:20180425172652p:plain

f:id:mocotanus:20180425172655p:plain


もう1つ。
「セクションのサイズに合わせる」で直ることもある。
「やったらいい」どころか「必ずやらないといけない」レベル(´・ω・`)
余分な空白も印刷しようとするらしい…

 

f:id:mocotanus:20180425172658p:plain

f:id:mocotanus:20180425172701p:plain

f:id:mocotanus:20180425172705p:plain

クリスタルレポートで最後に余分な空白ページができる

VS2013
クリスタルレポート バージョン13?


・PDF作成処理
・自動改ページ(式は使っていない)
・グループは使っていない
・レポートフッタは空(使っていない)
・ページフッタは空(使っていない)

PDF出力すると、ヘッダーだけが表示される空白ページが最後に出力されてしまう…

■参考ページ
SEメモ日記:Crystal Report で最後にいらない空白ページができる
http://blog.livedoor.jp/kyogoku_k/archives/51175105.html
↑の対応で解決しました。

フッターが空白なのに出力されているのが原因なので、非表示にする


■手順
ページフッタの上で右クリックして「セクションエキスパート」をクリック。

f:id:mocotanus:20180424132843p:plain

 

f:id:mocotanus:20180424132846p:plain

ページフッタ>共通タブ>
非表示-ドリルダウン不可
のチェックをオン

こうすると空白ページがなくなった! フッターは使っていないので出力されても高さはないと思っていたけど、そうではないらしい…

クリスタルレポート 印刷向きの縦横を変更

レポートのデザイナーの白いところで

右クリック>デザイン>ページ設定

f:id:mocotanus:20180424173211p:plain

 

方向を変更する。

f:id:mocotanus:20180424173214p:plain

f:id:mocotanus:20180424173218p:plain

 

横にしたかったのに間違えて縦で作ってしまったあとでも、あとで変更できた。

 

f:id:mocotanus:20180424173208p:plain

f:id:mocotanus:20180424173202p:plain

 

ただし、横から縦に変更したときに、
見切れる範囲にフィールドなどが置いてあるとデザイナーでは触れなくなる。
その場合はプロパティの一覧から選択するしかない。

 

例えば

以下のような配置を、印刷向き「横」から

f:id:mocotanus:20180424173221p:plain

印刷向き「縦」に変えたとき、

f:id:mocotanus:20180424173224p:plain

詳細2の後ろ側、詳細3の全部がエディターの範囲からはみ出てしまう。

 

このとき詳細3を選択するには、プロパティの一覧から選択する必要がある…

f:id:mocotanus:20180424173231p:plain

 

あ、
表示>その他のウィンドウ>ドキュメントアウトライン
(ショートカットキー:ctrl + alt + T)
でできるかも。。