- - PR -
Datasetに追加した列の表示順を変更する
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-01-13 16:12
いつもお世話になっています。
Windowsアプリケーション開発/DB:Access97使用で開発を行っています。 フィールド(kfkint)の値を条件に応じて変換し、新しいフィールド(kfkint2)をDataSet上に追加して、DataGridに表示させています。 追加されたフィールドは当然一番最後のフィールドとしてDataGrid表示されています。 このデータの列の配列を変更したいのですが、どのような手法を用いれば宜しいのでしょうか? ASP.NETならDataGridのプロパティには配列の変更ができるような機能があったと思うのですが、Windowsアプリケーションに関しては調べても見つかりませんでした。 アドバイスを頂きたく、書き込みをさせて頂いた次第です。どうか宜しくお願い致します。 現時点でのコードは以下のように書いております。 _____________________________________________________________________________________________ Dim dtset As DataSet Dim dttable As DataTable Dim cSQL As String Dim col As DataColumn cSQL = "select kfscod, kfstat, kfkend, kfjstr, kfkint, kfjend, kfresn, kfsyon, kfrenb from ksinsem where kfscod = '" + TextBox3.Text + "'" OleDbDataAdapter1.SelectCommand.CommandText = cSQL OleDbDataAdapter1.Fill(Dataset11) dtset = Dataset11 dttable = dtset.Tables("ksinsem") 'データ変換 col = dttable.Columns.Add("kfkint2") dttable.Columns("kfkint2").Expression = "iif(kfkint=0, '**', iif(kfkint=1, '国内', iif(kfkint=2, '駐在', iif(kfkint=3, '欠勤'))))" 'フィールドの非表示 Dim dc As DataColumn dc = dttable.Columns("kfkint") dc.ColumnMapping = MappingType.Hidden Dim dc2 As DataColumn dc2 = dttable.Columns("kfrenb") dc2.ColumnMapping = MappingType.Hidden Dim dc3 As DataColumn dc3 = dttable.Columns("kfscod") dc3.ColumnMapping = MappingType.Hidden 'レコードの並び替え dtview = New DataView(dttable, "", "kfstat DESC", DataViewRowState.CurrentRows) DataGrid1.DataSource = dtview |
|
投稿日時: 2005-01-13 16:44
DataGridのTableStylesプロパティを使えば列の表示順も制御できると思います。詳しくはヘルプを参照してください。
もうひとつ、列の表示順や別名など、すべてSQLで定義してしまう手もあります。 |
|
投稿日時: 2005-01-13 16:53
kanaiさんアドバイス頂きありがとうございます。
DataGridのTableStylesプロパティにて列の表示順の制御を考えてみます。 |
1