@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

DataGridのスクロール表示について

1
投稿者投稿内容
mina
会議室デビュー日: 2004/09/15
投稿数: 17
投稿日時: 2004-09-27 18:44
お世話になります。
---------------------------------------------------------
[OS]WindowsXp SP1
[VS]VisualStudio.NET2003+スマートクライアント
  WindowsフォームとExcel2003を使用
[言語]VB.NET
---------------------------------------------------------
上記環境にて開発を行っております。

過去ログでもいろいろ取り上げられている内容ですが、
同じ事象がなかったように思うので質問させて頂きます。

DataGridでコントロール幅よりデータが多くなれば
自動的にスクロールバーがつく、というのは通常仕様でよいのですが、
データが表示された時にスクロールバーが表示されているのに
使用ができない状態になっています。
DataGridの列ヘッダをクリックすると使用可能になります。
最初から使用可能で表示させたいのですが・・・。

特に列ヘッダをクリックした場合の処理もしていません。
同じ事象に遭遇した方いらっしゃいますでしょうか?
よろしくお願い致します。

説明不足のような気がしますが、何が提供できればよいのか・・
ご指摘よろしくお願いします。

[ メッセージ編集済み 編集者: mina 編集日時 2004-09-27 18:44 ]
じいじ
大ベテラン
会議室デビュー日: 2003/11/11
投稿数: 223
投稿日時: 2004-09-28 10:41
.NET Framework1.1 のSP1をあててありますか?
mina
会議室デビュー日: 2004/09/15
投稿数: 17
投稿日時: 2004-09-28 13:20
じいじさん、ありがとうございます。

>.NET Framework1.1 のSP1をあててありますか?
はい。あてています。

すみません。環境説明が不十分でした。

じいじ
大ベテラン
会議室デビュー日: 2003/11/11
投稿数: 223
投稿日時: 2004-09-28 14:02
私の環境は
--------------------------------
[OS]Windows Xp SP1
[VS]VisualStudio.NET 2002+SP1
[DataBase] ACCESS
[開発物]Windows アプリケーション
[言語]VB.NET
--------------------------------
ですが、白紙の状態から作ってみたところ、指摘されている症状は起きませんでした。

mina
会議室デビュー日: 2004/09/15
投稿数: 17
投稿日時: 2004-09-28 14:30
じいじさん、検証して頂いてありがとうございます。

違うところといえばVSのバージョンとDBがSQLServerなこと位ですね・・。
ということはコーディングが悪いということでしょうか。。
もう少し見てみます。

そして.NET Framework1.1 のSP1ですが、クライアント側はあてたのを覚えていたのですが、
開発兼サーバ側はうろ覚えだったため、再度あててみました。
そしたら変なエラーがでるように・・・(;_;)

Excelを普通に右上の×で閉じた時に下記の例外エラーが発生しました。
「'System.NotImplementedException'の初回例外がmscorlib.dllで発生しました。
 追加情報:メソッドまたは操作は実装されていません。」
SP1をあてる前は発生していませんでした。
ということはやはりSP1はあたっていなかったことになるのでしょうか・・。

何か回避方法ございますでしょうか?

別スレッド立てた方がよかったかもしれませんが、
よろしくお願いします。
mina
会議室デビュー日: 2004/09/15
投稿数: 17
投稿日時: 2004-09-28 15:42
自己レスです。

DataGridのスクロールの件は原因解明しました。

DataGridにDataSouceをバインドし、
データがあった場合はDataGrid.Enabled=trueに、
なかった場合はDataGrid.Enabled=falseにしていました。

ところが、バインドする前にDataGrid.Enabled=trueになっていないと
いくらバインド後にDataGrid.Enabled=trueにしたところで
スクロールバーは使用できないみたいです。
(すみません。当然の周知事なのかもしれませんが、
 まだ初心者なのでそんなこと全然気づきませんでした・・)

バインド前にレコード件数でDataGrid.Enabled判断するようにしたら
スクロールバーがうまく動作するようになりました。

お騒がせしました。
ありがとうございました。

じいじ様 コーディングが悪いと気づいてよかったです。
ありがとうございました。

もう一方の例外エラーについては???ですが・・・・。
1

スキルアップ/キャリアアップ(JOB@IT)