ラベル お気楽ぷろぐらまっ★論 の投稿を表示しています。 すべての投稿を表示
ラベル お気楽ぷろぐらまっ★論 の投稿を表示しています。 すべての投稿を表示

2012/02/04

VB.Net DataGridViewのスクロールバーエラー

というわけで半月ぶりのBlogもまた Vb.Net覚書
今回は 自分がこの現象に遭遇した時 ぐぐったけどなにも出てこなくて
ちょっと苦労した DataGridViewの謎なエラー。
色々やったら解決したんで、同じ目にあってる人たちにも情報提供出来るかも。

DataGridViewがある画面で Me.Enabled = False など実行して その子オブジェクトである
DataGridViewの Enabledも False 状態にし
DataGridViewにある程度の量(スクロールバーで移動しないと行の最後に移動できない位)の行を
追加後 DataGridViewのEnabledが Trueになるように変更した場合
(この場合 Me.Enabled = True を実行した後ってことですな。)
垂直方向の スクロールバーがおかしくなるって現象がおきます。

スクロールバーの移動量が増えてなくて バーを動かしても最終行までは全然移動できず、
DownKeyなどで下行に移動していこうとすると途中で コントロールのシステムエラーが発生します。

色々試してみた所 回避方法がありました。
行を追加する前に DataGridViewの ScrollBarプロパティで垂直方法のスクロールバーを
なくし(状況とかお好みによって None または Horizontalで 垂直だけ消せばよい)
行を追加後に 垂直方向の ScrollBarプロパティで 表示(Vertical または Both) すればOK

ScrollBarを表示するのは 行を追加後であれば Enabledを Trueにするタイミングに
関係ありません。
同じ目にあってる人で解決してる人 あんまり見ないんで 参考になれば どぞ★


【追記:2015/10/10】
職場で発生した現象を自宅で書いてたので、正確なエラーとか覚えてなくて
誰かのお役にたつのかなぁ?と少し疑問にも思ってたんですが、存外
お役になっているようで何よりです。

それにしても縦スクロールが無効になることにも参考になるとは
こちらも勉強になりました。ありがとうござました。

2012/01/15

VB.Net デバッグ途中で試したいぷろぐらまっ★向け環境

またまた VB.Net 2008 .NET Framework 2.0~3.5 系備忘録。
今回も環境設定だけど ホントに自分用の備忘録だなこれは…

試作大好きなぷろぐらまっ★ なんで 実行途中に止めて イロイロ試したい。
だって、それこそ VBで作る最大の利点でもあるんだもん。

なんだけど、デバッグ途中にソース触るのは 構成がリリースだと出来ないんだよね。
だけど、既存のままだと ぱっと見 今 構成が リリース デバッグなのか わからない。



そんな 時は ビルド構成を常に表示するようにすればいい。


★ビルド構成を表示する 開発環境設定
メニューバーの「ツール」→「オプション」
左下の「全ての設定を表示」を ON
オプション画面左のディレクトリから 「プロジェクトおよびソリューション」→「全般」
「ビルド構成の詳細を表示」を ON


止めて、クイックウォッチとイミディエイトウィンドウで イロイロ小細工したり
その直後に 試しに色んな文を追加して 試してみたりするのが大好きなんだよ
…というより そうじゃないと プログラム作れないんだよ(T▽T)
今の構成が 常に見えてる状況は こういうタイプのプログラマには楽なのだ


ビルドもメニューアイコン1クリックで気にせず出来るようになるので
結構便利に 思うんだけどね。

[追記:2012/01/16]
あ、忘れてた。
で、私はアイコンメニューに「ビルド」から「ソリューションをビルド」と
「ソリューション構成」を追加してます。
そうすると構成切り替えも簡単で ビルドも一発なので。
開発環境変えただけだと、常には見えないですね、構成。

2012/01/11

VB.Net 試作が好きなぷろぐらまっ★向け環境

今年は ちょっと新しいシリーズでBLogを展開します
VB.Netの 備忘録です、ラベルも VB.netを追加★
現在使ってるのは VB2008 .NET Frameworkは 特に書かなければ 2.0~3.5って感じで

最近、VB.Netの仕事があったりして 何度もNet検索して探しまくるのも大変なんで(w
そのうち新しいマシン自分で買った時とか 職場でも新マシン環境構築とか考えたら
BLogに上げときゃ職場でも家でも見れるし イロイロメモっておきたかったので

初回は 開発環境のカスタマイズ編

私はとにかくプログラムを作る時は「とりあえずなんでもいいからやってみそ」な
超あじゃいるぷろぐらまっ★タイプ


なので、三角形なデバッグボタンを押す度に毎回保存されるのは困るんだよ
とりあえずやってみて上手く行かなかったら無かったコトにしたいんだよ。


そんな訳でそのあたりの設定を


★デバッグしたときにソースを勝手に保存させない 開発環境設定
 メニューバーの「ツール」→「オプション」
 左下の「全ての設定を表示」を ON
 オプション画面左のディレクトリから 「プロジェクトおよびソリューション」→「ビルド/実行」
 「ビルド開始前に行う保存の操作」のところの設定の「全てを変更を保存」を 好みに変える。


私の場合「変更を保存しない」にしてます
そうすると、ビルドしたりデバッグしてもそれだけじゃソースは保存されず、
プロジェクトを閉じようとしたりする時出てくるダイアログに対して保存したり
メニュー類で上書き保存を自分でしない限り、変更は破棄出来て
もとのfileのままでいられるのだ、試作万歳

注意は ビルド時にもVBファイルは保存されないということ
変更がある場合は その後プロジェクトを閉じようとした時に更新できるけど、
厳密な現場では VBファイルとEXEファイルの更新時刻の前後がNGなところもあるので
そういう場所は 上書き→ビルド を習慣つけませぅ

今年は これ系でネタが続きそうだ(w

[追記:2012/01/12]
もう一個注意する点があった;;;
フォームデザインを変えてそのままデバッグしようとすると フォームが更新できないってな
メッセージが出て、変更前の状態のフォームでデバッグが継続されたりします
フォームを変更した場合は、別のTAB(コードとか)に制御を移してから
デバッグを開始すると 大丈夫
フォームの変更をそのまま反映したいなら フォームのタブを閉じちゃってもいいんだけどね

2008/08/07

データベースアプリで最も重要な事

…正直、こんな事を書く事になるとは思わなかった(笑)

プログラマには色んなタイプがあります
といっても性格とかじゃなくって 作るプログラムのタイプによって、です

私の場合は Windowsの基幹系データベースアプリの ぷろぐらまっ★
Windowsは置いておいて、基幹系っていうのは企業の主な業務に携わるもの全般のこと
その業種特有のものの他、会計や売上管理、在庫管理、給与や人事なども含みます
往来は帳簿などで管理していたそれらの情報を、コンピュータで扱えるようにするアプリを
作成、管理するような仕事です
んで、データベースはそれらの情報を蓄積・加工したものの事です


…いかん、危うくその目的とかまで語りかけた…130行位書いて我に返って削除(爆)


データベースで…というより、コンピュータでもアナログでもなんでも
情報を管理する上で一番大切な事はなんだろう?と最近考えたわけです


それは 必要な情報を 必要な時に 必要な形で 取り出せる事だと思うのです


データベースはそれを コンピュータで簡単に出来るように考えられた 一種の思想であって
情報処理の考え方の一部であると思っています
特に その必要な情報を探し出す速さ、必要な形に加工する早さ、
また同じ情報を 何度も入力しないで活用する事に秀でています


話を元にもどして、では 情報を取り出すのに最も重要な事はなにか? というと、
そこはデジタルもアナログも一緒で 目録 目次 索引 付箋 しおり になるわけです
これをデジタルな事で考えると Index Key や 今なら Tagなどになります

特に重要なのは 目録/目次です、これらはどの情報が何処にあるかを確実に指し示します
目次には頁や章などが記載されており、それによって情報のありかを迷うことなく探せる訳です

何故迷わないのか?それは 頁や章がそれぞれの情報ごとに重複しないから他なりません
つまり 必要な情報を正しく確実に取得するには その情報には他の情報と確実に区別のつく
特別な情報を必ず持っていなくてはなりません。
それらが プリマリーキーやユニークキー 一意キー キーインデックスなどと呼ばれる
1つの情報に1つずつ 重複しない値(例えば頁) もしくは値の組合せ(例えば章/段落)になります


…すいません、それが無い情報管理が 世間に一杯ある事を ここ数年で知りました(滝汗)


実は 以前つぶやいた関口(仮名)さんのネタもそうです。
あるリストを作れといわれましたが、そのリストで何かを発見しても
それがどこのどのデータを指し示すか 全く分からないというシロモノでした
なので私が言った台詞が「お客様はなんのDataが欲しいんですか?」になる訳で
それで黙っちゃう辺りが 一番重要な所がかけてるとしか言い様がないのです

この時はそこまで考えなかったんですが、今担当してる幾つかのシステム、
まぁ結構古いものもあるんですが、あたらしいのもあったりするわけで
データの一意性が分からない様子が あちこちに伺えるシステムだったりします

情報管理を生業としてるものとして その部分が欠けているのは致命的だと思うのですよ
プログラムは確かに プログラマが作りますが、基本概念として抑えていて欲しいなと
思うわけですよ、えぇ(涙目)

2008/06/08

「ユーザー」とは誰か

さて、新しいラベルシリーズで「お気楽ぷろぐらまっ★論」を追加。
フリーのすちゃらかお気楽ぷろぐらまっ★が、超久しぶりに某社内に常駐して
そこで感じたあれこれを、不定期に書いていく…シリーズになる予定(笑)
ネタがネタなので 長文になると思われます、しかも読者特定系( ̄▽ ̄;

本当は今月初めから書く予定だったんですけど、その某社にてちょっとした
ネタが発生し、mixiでリアルタイム連載していたので遅くなりました。
ネタの神様が降臨したようなネタでしたが、リアルタイムではかけないので
困ったモンです、いいネタだったのに(^^;

今回のテーマ(?)は「ユーザー」とは誰か?です
現在常駐してる某社はある大企業グループのシステム会社です。
私が請け負ってる業務の部署は中でもそのグループの中枢業務の最前のシステムを
担当する部署です。

さて、システムを修正・作成するにあたって、相手の某社の担当さんとお話をするんですが
その中で「どうもお話が通じないなー」と思う担当さんが何人か居まして。
どうも担当さんが使う言葉の定義がはっきりしていない事というのが、大きな原因の一つな気がします。

担当さん自身の中で定義がはっきりしていれば まだ
「あぁ、私はこう思ってしまったけど そうじゃなくてそういう意味なのか」
という具合にコンセンサスを取るべく努力ができるんですが、
担当さん自身がどういう意味で使ってるのかが分かっていないとかなりお手上げ。

中でも思ったより曖昧だった言葉が「ユーザー」でした。
…迷いようが無さそうなんですが(笑)そこは相手が大企業だった。

「ユーザー」と一言で言っても、私の中では色んな位置のユーザーさんがいます。

1つ目は実際にシステムを操作し、使う人・運用する人である「ユーザー」さん
この中にも 実際に操作する人、操作した結果を活用する人や、
操作した人が相手にするお客さんなど 色々いますが、
とにかく、システムそのものを利用する人たちですね。

2つ目が本来なら「クライアント」の意味に当たる人
そのシステムが欲しいといってる会社の担当者さんや経営者さん
つまり直接そのシステムを触る立場ではない、「依頼人」な立場の人
システムを発注する人、実際にお金を出す人、システムを入れた結果を必要とする人などです
私の中では、現在常駐してる某社さんの担当さんも 当然ここに入ります。

なので「ユーザー」と言っただけでも、担当さんがどこを想定してるのか?というのを
考えながら聞いているんですが、どうもその辺りが曖昧。
担当さんの中では、9割は実際に操作する人ではなくシステムを発注する相手担当者を想定してる
ようなんですが、例えば「ユーザーが必要としてるリスト」とこちらがいうと、
それが担当さんの中でどういう意味か定義できないんですね。

私の中では「ユーザー」が定義されていて相手が言う意味がどの意味なのか?
もしくは自分が想定していない定義なのか?と色々探りながら会話していたんですが、
最近気がついたのは、担当さんが「ユーザー」という中に具体的なモノがない感じです。

友人につい愚痴を聞かせてしまったときに「まずは言葉の定義が大事だよ」と言われました。
システム屋にとって基本的な言葉だろうと思う「ユーザー」
たったこれ一つを取っても、意思をきちんと疎通させる重要性を痛感したりしています。