- PR -

DataGridのカラムの並べ替えと、イベントについて

1
投稿者投稿内容
なぼな
ベテラン
会議室デビュー日: 2004/08/04
投稿数: 61
投稿日時: 2004-08-26 21:08
お世話になっております。
DataGridの、カラムの並べ替えについてご教授お願いします。

環境、VB .NET SqlServer

1.ウィザードなどを利用してDBのデータをDataGridに表示しています。
  はたと気が付くと、並び順がいまいちなので、見やすい編集をしたいです。
  しかし、どこで指定するのか不明です。
コードで行わなければならないのでしょうか?
  それとも、どこかの画面で並べ替えできるようでしょうか?
  さらに、どういう規則性で設定時の並びがきまるのでしょうか?

2.DataGridは、Fillしないとカラム名まで表示してくれないので、
  WebFormのLoad時にFillするようにしてデータの初期表示をしてみました。
  ところが、DataGridに追加した「選択」ボタンイベントが拾えなくなり
  ボタンイベントに対してはどうにもならなくなってしまいました。
  これは、WebFormのLoad時にはDataGrid.Fill()はするなということなのでしょうか?

3.ボタンイベントで、DataGridの
SqlDataAdapter4.SelectCommand.CommandText = "SELECT * From Tbl1"

SqlDataAdapter4.Fill(DataSet41)

DtGrid.DataSource = DataSet41
DtGrid.DataBind()
をするようにしました。
  私的には、DBデータの再取得と、DataGridの再描画かと理解しておりました。
  しかし、実際には今表示されているデータに、さらに同じデータ追加されるような
  表示です。
  たとえば、ボタン1回目押下で表示2行、ボタン2回目押下で同じ2行追加で計4行
  となってしまいます。
  これは、DataGridを何かのメソッドで、初期化する必要があるということなのでしょうか?

ご教授よろしくお願いします
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2004-08-27 00:54
諸農です。

引用:

1.ウィザードなどを利用してDBのデータをDataGridに表示しています。



DataGridを右クリックして表示したコンテキストメニューから
プロパティエディタを選択しそのダイアログで調整できるとおもいますが。

引用:

2.DataGridは、Fillしないとカラム名まで表示してくれないので、



DataSourceを指定しても出てきませんか?
--追記--
型付きデータセットを使われているようですので、
1.でのプロパティエディタでデータソースに型付きデータセットを
指定すればOKかと思います。
--追記終わり--

引用:

3.ボタンイベントで、DataGridの
//中略
  しかし、実際には今表示されているデータに、さらに同じデータ追加されるような
  表示です。



この現象には遭遇していないので、コメントできそうにないですm(__)m




_________________
諸農和岳
Powered by Borland Delphi/C++Builder & Microsoft VS.NET

[ メッセージ編集済み 編集者: Jubei 編集日時 2004-08-27 06:55 ]
なぼな
ベテラン
会議室デビュー日: 2004/08/04
投稿数: 61
投稿日時: 2004-08-27 00:59
お世話になっております。

この投稿について、
>3.の
>  ボタン1回目押下で表示2行、ボタン2回目押下で同じ2行追加で計4行
>  となってしまいます。
は直りました。
再現性がなくいまいちなにを直したかわからないのですが、
表示するフィールドを整理していたら、直りました。
どこかに矛盾があったのではないか、と考えております。

1.と2.のことについて、おわかりの方いらっしゃいましたら
なにとぞ、ご教授よろしくお願いします。
えムナウ
大ベテラン
会議室デビュー日: 2004/06/10
投稿数: 187
お住まい・勤務地: 東京
投稿日時: 2004-08-27 02:44
1)
>ウィザードなどを利用してDBのデータをDataGridに表示しています。
データアダプタ構成ウィザードですよね。
SQLステートメントの生成ダイアログでクエリビルダーを選択して並べ替えの順序を調整してください。

2)WebFormは余り詳しくないので・・・

3)一般にFillの前にDataSetのDataTableをクリアしないと2重読み込み出来ます。
キーとかで重複禁止ならエラーになります。

_________________
えムナウ Microsoft MVP for Visual Developer - C#,2005/01-2007/12
えムナウのプログラミングのページ Blog1 Blog2
1

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