web-dev-qa-db-ja.com

グリッドビューでのasp.netフォーマットdateTime

「セッション」と呼ばれるデータベース内のテーブルからグリッドビューを動的にバインドしています。次のようなlinqクエリを使用するメソッドから情報を取得します。

var s = from sessions in datacontext.Sessions
                    where sessions.test == id
                    orderby sessions.ID ascending
                    select sessions;
gridView.DataSource = qsessions;
gridView.DataBind();

セッションには、日付(月/日/年)を表示するために最小化するdateTimeフィールドが含まれています。私がグーグル検索で読んだものから、解決策は次のようなものを使用してグリッドビューのaspxマークアップでフォーマットを指定することです:

<asp:TextBox ID="txtDate" runat="server" Text='<%# Eval("dateTime", "{0:MM/dd/yyyy}") %>'></asp:TextBox>

動作していないようで、日付の後の時刻が表示されます。足りないものはありますか?感謝します!

10
William Hawkins

試してみてください:

<asp:TextBox ID="txtDate" runat="server" Text='<%# Convert.ToDateTime(Eval("dateTime")).ToString("d") %>'></asp:TextBox>

その他のフォーマットオプションについては、次の役立つサイトを参照してください。

http://www.mikesdotnetting.com/Article.aspx?ArticleID=2

22
JerSchneid

グリッド内のTextBoxのOnDataBindingイベントを実装します。

<asp:TextBox ID="txtDate" runat="server" OnDataBinding="txtDate_DataBinding">
</TextBox>

次に、コードビハインドでOnDataBindingイベントを実装します。

protected void txtDate_OnDataBinding(object sender, System.EventArgs e)
{
    TextBox txt = (TextBox)(sender);
    txt.Text = (DateTime)(Eval("YourDateField")).ToString("MM/dd/yyyy");
}

私はすべてのコードをコードビハインドに入れ、aspxページには何も入れないことを好みますが、そこに埋め込むこともできます。これは、コードビハインドでそれを行うことを好む理由を説明するスレッドへのリンクです。

OnDataBinding vs Inline:長所、短所、オーバーヘッド

3
Kelsey

ASPグリッドビュー自体が日付形式をサポートしています。追加してみてください

DataFormatString="{0:dd-MM-yyyy}"
2
boh

Gridviewは、DataFormatStringによる日付フォーマットをサポートしています。例えば-

<asp:BoundField DataField="Date" HeaderText="Visit date" DataFormatString="{0:dd-MMM-yyyy}" >                               
                            </asp:BoundField> 

そしてそのように見える-

訪問日
2013年10月15日
2013年10月12日
2013年10月11日

2
Atul Dubey
<asp:Label ID="lblDateBudget" runat="server" Text='<%# Eval("DateBudget", "{0:MM/d/yyyy}")%>'></asp:Label>

こんにちは友達、これはあなたが上で定義した問題の別の種類の解決策です。日時ではなくデータ型の日付を設定し、この方法でアクセスを試みます。これがお役に立てば幸いです。

1
user1519713

日時変数は文字列として評価されていると思います。それをDateTimeにキャストしてみてください。

0