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

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

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

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

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

ASP.NET

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

Q&A

解決済

1回答

1288閲覧

ASP.NETのListViewで投稿内容を時間順にしたい

pilololo

総合スコア3

C#

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

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

ASP.NET

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

0グッド

0クリップ

投稿2020/08/26 22:46

編集2020/08/28 10:04

ASP.NETのListViewで投稿したデータを投稿時間の降順に表示したいです。
現在時刻の取得とデータのソートがうまくいきません。

下記のListViewに投稿時刻の降順でソートしたいのですがどのように記述したらよろしいでしょうか。

環境は
VisualStudio Community 2019
OSはwin10
.net Framework
Web Forms
Microsoft SQL Server バージョン13.00.4001

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2020/08/27 01:59 編集

全くの情報不足です。質問欄を編集して追記してください。 (1) 元のデータソースはどうなっているか(SQL Server のテーブルであればそのスキーマを書く。「投稿時間」がデータソースに含まれてないってことはないでしょうね) (2) データソースからどのようにデータを取得してどのように ListView にバインドしているか(データソースコントロールを使っているならそのソースコードを書く) (3) どのようにソートしたいのか(初期画面から「投稿時間」でソートした結果が ListView に表示されればいいのか、それともユーザーの操作でソートしたい列、昇順・降順を切り替えたいのか書く)
退会済みユーザー

退会済みユーザー

2020/08/27 01:04

> 現在時刻の取得とデータのソートがうまくいきません。 それから「うまくいきません」ではここに書いてあること以外は知る由もない第三者には何がどのようにうまくいかないかわかりません。初心者にありがちですが、最も悪い質問の仕方の一つです。 ○○○となることを期待して、△△△ということをしたが、結果は期待に反して□□□となってしまう・・・というように具体的に書きましょう。
pilololo

2020/08/27 10:05

説明不足で大変申し訳ございません。 データソースを追記しました。
pilololo

2020/08/27 10:13

ちなみにテーブルに登録しているTimeはdatetime型を使用しているのですがあっていますか?
退会済みユーザー

退会済みユーザー

2020/08/27 11:20

質問の (1), (3) に答えてください。
退会済みユーザー

退会済みユーザー

2020/08/27 11:42

> こちらが時間を取得するのに試したコードです > このコードをListViewのTimeLabelにどのように記載したらよいかわかりません。 何がしたいのか分かりません。Console.WriteLine とかは ASP.NET では使えません。TimeLabel に表示するデータは DB のテーブルに含まれているものではないのですか? 話が通じてますかね?
pilololo

2020/08/27 12:57

Console.WriteLineというものがASP.NETで使用できないこと自体わからないくらいの初心者なのですみません。 (1)はどいうことでしょうか? SQL Server のテーブルであればそのスキーマを書くとのことですがそれ自体が理解できません。 (3)は初期画面から投稿した時間の降順でソートしたいです お手数をおかけして申し訳ありません。
退会済みユーザー

退会済みユーザー

2020/08/27 13:20 編集

> Console.WriteLineというものがASP.NETで使用できないこと自体わからないくらいの初心者なのですみません。 分からないのはしょうがないのですが、とにかく聞いたこと「TimeLabel に表示するデータは DB のテーブルに含まれているものではないのですか?」には答えてもらえませんか? > (1)はどいうことでしょうか? > SQL Server のテーブルであればそのスキーマを書くとのことですがそれ自体が理解できません。 テーブルの構造です。VS2019 を使っているなら、SQL Server オブジェクトエクスプローラーを使って当該テーブルを右クリックし[デザイナーの表示]で表示される画像のスクリーンショットを撮って質問欄に張ってもらえばいいです。
退会済みユーザー

退会済みユーザー

2020/08/27 13:19

そこまで何も分からない初心者なのに前のスレッド https://teratail.com/questions/287133 で私のアドバイスを無視して「もうすこし自分で調べてみようと思います」とか我が道を行く的な返事ができるのですかね。
guest

回答1

0

ベストアンサー

質問の一番最初のコメントで私か聞いた、

(1) 元のデータソースはどうなっているか(SQL Server のテーブルであればそのスキーマを書く。「投稿時間」がデータソースに含まれてないってことはないでしょうね)

が不明ですが、たぶんデータソースは SQL Server のテーブルで、「投稿時間」はそのテーブルに含まれていると想像して・・・

ASP.NETのListViewで投稿したデータを投稿時間の降順に表示したいです。

質問に後から追加されたコードを見ると SqlDataSource を利用しているようですが、であれば、「データソースの構成」ウィザードを使って「Select ステートメントの構成」を設定する際に、[ORDER BY(R)...] ボタンをクリックして、キーを「投稿時間」に設定すれば良いはずです。

下の画像を見てください。下の画像の OrderDate を質問者さんのケースでは「投稿時間」にしてください。昇順・降順の選択も可能です。

イメージ説明

上の画像の SELECT ステートメントに注目。これが SqlDataSource の SelectCommand に設定され、ORDER BY 句の設定に従ってソートされた結果が ListView に表示されるはずです。

現在時刻の取得とデータのソートがうまくいきません。

「現在時刻の取得」というのは何だか分かりません。ListView とは別にページのどこかにページを要求した時間を表示したいのなら、ページに Label を追加し、Page_Load あたりで DateTime.Now.ToString() を Label.Text に設定してはいかが?

スキーマの件

質問への 2020/08/27 22:14 のコメントで書いた「SQL Server オブジェクトエクスプローラーを使って当該テーブルを右クリックし[デザイナーの表示]で表示される画像のスクリーンショット」というのは以下のようなものです。

イメージ説明

上のようなデータソースのテーブルの詳細情報と、質問者さんの言う「投稿時間」とは何かを上の画像の赤枠で囲ったように明確にしてもらえないと話が通じないので、次回質問する機会があれば必ず情報として書いてください。

投稿2020/08/28 03:45

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

pilololo

2020/08/28 10:05

初心者にここまで丁寧に教えて頂き本当にありがとうございます。 とてもわかりやすいです有難うございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問