質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

Q&A

解決済

1回答

9669閲覧

ASP.NET(C#)のSession変数について

elvis

総合スコア29

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

0グッド

0クリップ

投稿2015/10/09 04:16

###状況
ASP.NETのWEBフォームでGridViewを含むページを作っており、現在ソート処理を実装中です。
コードにスッキリしない点があるので質問させて頂きます。

###疑問点
ページロードで取得したDataTableをSession変数に格納し、ソート処理の時に取得して使っています。
処理自体は問題なく動くのですが、ひとつ疑問点があります。

コードの以下の部分ですが、右辺は本来dvではないでしょうか。
GridView1.DataSource = Session["dataset"];

Sessionから取得したDataViewを新規に作成したインスタンスに格納し並び替えを行っているので、その後、DataSourceにセットするのは Session["dataset"] ではなくdvだと思うのですが…。

試しにWindowsフォームアプリ(Sample1)で同じような内容を検証しましたが、再現できませんでした。

何か間違っているのでしょうか。
低レベルで申し訳ございません。ご教授願います。

###ソースコード
/以下を実行すると問題なくソートされる
protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
DataView dv = Session["dataset"] as DataView;

if (dv != null) { dv.Sort = "社員番号 DESC"; **GridView1.DataSource = Session["dataset"];** GridView1.DataBind(); }

}

//以下を実行すると『太郎』と表示される
private void Sample1()
{
object i = "太郎";
string i2 = i as string;
i2 = "花子";
MessageBox.Show(i as string);
}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

dvはDataViewなので型違いでDataSourceにセットできません。
ソート操作するためDataSourceをDataViewにキャストし、ソート処理を行った後にGridViewに反映させるためにキャスト元のDataSetをGridView.DataSourceにセットしているのだと思います。

投稿2015/10/09 04:29

BlueMoon

総合スコア1339

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

elvis

2015/12/09 06:24

返信が遅れて申し訳ございません。仰るとおりにしたら、解決しました。 ありがとうございましたm(__)m
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問