ASP.NET(VB)で和暦の表示方法について

このQ&Aのポイント
  • ASP.NET(VB)を使用して、データベースから取得した日付をWebページで和暦で表示する方法について教えてください。
  • 具体的には、sqlDatasource1とFormView1を組み合わせて入力された年月日を取得し、Formに表示したいのですが、西暦表示になってしまいます。
  • どのようにすれば和暦表示にすることができるでしょうか?
回答を見る
  • ベストアンサー

ASP.NET(VB) 和暦の表示方法について

ASP.NET VB  データに登録された日付日付をWebページに和暦で表示する方法 について以下のようにデータベースから sqlDatasource1 と FormView1 を組み合わせ入力年月日を取得し Formに表示したいのですが、西暦表示になってしまいます。 教えてください。 'システム和暦年月日表示 Dim cult As System.Globalization.CultureInfo = New System.Globalization.CultureInfo("ja-JP") cult.DateTimeFormat.Calendar = New System.Globalization.JapaneseCalendar     DIM YMD AS Datetime YMD = (CType(FormView1.FindControl("入力年月日Label"), Label)).Text me.txYMD.text = YMD.ToString("ggyy年MM月dd日", cult)

質問者が選んだベストアンサー

  • ベストアンサー
  • WebSurfer
  • ベストアンサー率55% (33/59)
回答No.1

ここがなんか変じゃないですか? > DIM YMD AS Datetime > YMD = (CType(FormView1.FindControl("入力年月日Label"), Label)).Text 以下のようにすればできるはずです。 DateTimeFormatInfo dtf = new CultureInfo("ja-JP").DateTimeFormat; dtf.Calendar = new JapaneseCalendar(); string s = DateTime.Now.ToString("ggyy年MM月dd日", dtf);

関連するQ&A

  • DataGridViewの和暦表示について

    vb2005で開発を行っています。 調べたのですが、DataGridのことばかりでDataGridViewの話題はあまりなかったので質問させて下さい。 DataGridViewで特定のカラムの表示形式を和暦(平成YY年MM月DD日)にしたいのですが、いざ出力してみると西暦YY年MM月DD日という形式になってしまいます。 以下がコードです。 Imports System.Data.OleDb Imports System.Globalization Imports System.Text.RegularExpressions Imports System.Text Private Sub PunchDataInq_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' DataGrid view を和暦表示に Dim culture As New CultureInfo("ja-JP", True) culture.DateTimeFormat.LongDatePattern = "ggyy'年'MM'月'dd'日'" Me.dgv.Columns(0).DefaultCellStyle.Format = culture.DateTimeFormat.LongDatePattern End Sub ---------------------------------------------------------- この状態でDate型の値をDBから参照すると西暦07年11月06日などが表示されてしまいます。どなたかお気づきの点がございましたらぜひご指摘ください。 よろしくお願いします。

  • asp.net 計算式について

    お世話になります FormView1内にあるテキストボックス内の計算をさせたいのですが FormView1のTEXTBOXが見当たらず困っています 環境visualstudio2005standard sql web VB 書籍を購入して下記を作成しました。通常なら下記で動作確認は出来ました。 Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Dim intnyuukin As Integer Dim intsiharai As Integer Dim intgoukei As Integer intnyuukin = Val(TextBox1.Text) intsiharai = Val(TextBox2.Text) intgoukei = intnyuukin - intsiharai TextBox3.Text = intgoukei End Sub で合計が計算されのですがFormView1内にあるばあいTextBox1、TextBox2が見当たらないみたいで 宣言させていませんと怒られます。 構成はMultiView1、View1にGridView選択で View2へ移動させてFormViewを表示させて頂いております。 分かる方宜しくお願い申し上げます

  • VB、教えてください。

    VB、教えてください。 5つのラベルが縦に並んでいます。 label0 label1 label2 label3 label4 あらかじめ、 Dim m as integer=0 を宣言し、 どうにかして "label"という文字列とmという数字をくっつけ、 label0 label1… という風にできないでしょうか。 そして label"m".text=10*m というような表示を作りたいのですが。 下記のようなイメージです。分かりにくかったらごめんなさい。 Public Class Form1 Dim m As Integer = 0 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click lblmessage(+("m").Text = 10*m m = m + 1 End Sub End Class

  • VB2008・DataGridの表示について

    フォーム上にDataGridを設置してsqlcompactで作られたテーブルのデータを表示しようとして 以下のソースを実行すると、エラーになり表示できませんでした。 もし、原因がわかるかたがいらっしゃいましたら教えてくださると助かります。 表示するにあたり、テーブルの特定のカラムだけ表示して、ヘッダーを編集したい。 テーブルの全レコードではなくて対象レコードのみを表示 Dim cn As New System.Data.SqlServerCe.SqlCeConnection Dim SQL As System.Data.SqlServerCe.SqlCeCommand Dim db_sql As String ' テーブルスタイルを生成する Dim dgStyle As DataGridTableStyle = New DataGridTableStyle() dgStyle.MappingName = "表示用テーブル" ' 列スタイルを生成し、プロパティを設定する Dim col(4) As DataGridTextBoxColumn col(0) = New DataGridTextBoxColumn() col(0).HeaderText = "商品コード" col(0).MappingName = "商品コード" col(0).Width = 50 col(1) = New DataGridTextBoxColumn() col(1).HeaderText = "商品名" col(1).MappingName = "商品名" col(1).Width = 100 ' 列スタイルをテーブルスタイルに追加する dgStyle.GridColumnStyles.Add(col(0)) dgStyle.GridColumnStyles.Add(col(1)) ' テーブルスタイルをグリッドに追加する Me.DataGrid_Display.TableStyles.Clear() Me.DataGrid_Display.TableStyles.Add(dgStyle) 'DBのパスをセットしてオブジェクト化 cn.ConnectionString = "Data Source=" & DB_PATH & ";Password=" & DB_PASSWORD & ";Persist Security Info=True;" SQL = cn.CreateCommand 'データグリッドを表示する Dim dbadp As System.Data.SqlServerCe.SqlCeDataAdapter Dim dbtabl As DataTable Dim aa As DataSet db_sql = "SELECT syohinno, syohinryaku, suryo1, suryo2, suryo3 FROM porsj05_tempo ORDER BY date DESC" dbadp = New SqlCeDataAdapter(db_sql, cn) dbtabl = New DataTable dbtabl.Locale = System.Globalization.CultureInfo.InvariantCulture dbadp.Fill(dbtabl) Me.DataGrid_Display.DataSource = dbadp Me.DataGrid_Display.Refresh() エラー箇所 Me.DataGrid_Display.DataSource = dbadp エラー内容 Complex DataBinding は IList または IListSource のどちらかをデータソースとして受け入れます。 'System.ArgumentException' の初回例外が System.Windows.Forms.dll で発生しました。

  • 和暦入力の方法

    ACCESS2000を使用して社員情報を作成しました。 生年月日などの日付入力のフィールドを西暦で入力して、その横に和暦を表示させているのですが、書類は和暦表示になっている場合が多いので、入力を和暦にして横に西暦表示も出来ればと考えています。 H14.09.12 平14.09.12 と入力すると、横に自動で2002/09/12 と表示したいのです。 よろしくお願いします。

  • vb2005でUDP受信時にフォームが表示されない

    はじめまして VB2005でUDPのメッセージを受信してForm上のLabelに受信内容を表示させるサンプルプログラムを作成したのですが、「デバック開始」をクリックしてもFormのウィンドウ自体が表示されません。 イミディエイトにdebug.printで受信データは表示されていますのでプログラム自体は正常に動作しているようです。 どなたかアドバイスをいただけませんでしょうか。 Public Class Form1 Dim localport As Integer = 1111 Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load '文字コードを指定する Dim enc As System.Text.Encoding = System.Text.Encoding.UTF8 ' バインド Dim udp As New System.Net.Sockets.UdpClient(localport) ' 受信 Dim remoteEP As System.Net.IPEndPoint = Nothing Debug.Print("受信開始") Do My.Application.DoEvents() Dim rcvBytes As Byte() = udp.Receive(remoteEP) Dim rcvMsg As String = enc.GetString(rcvBytes) My.Application.DoEvents() Debug.Print("受信メッセージ:" & rcvMsg) Label1.Text = rcvMsg Loop End Sub End Class

  • VisualBasic.NETでのソースの意味がわかりません…。

    Dim misscount As Integer Dim istypemode As Boolean Private Sub button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim s() As String = New String() {"datemasamune", "sanadayukimura", "tyousokabemototika", "morning", "hyper", "newspaper"} Dim word As String = s(New Random().Next(0, s.GetUpperBound(0) + 1)) Label1.Text = word Label2.Text = "" istypemode = True End Sub Private Sub Form1_keypress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress If istypemode And Not Char.IsControl(e.KeyChar) Then If e.KeyChar = Label1.Text.Chars(Label2.Text.Length) Then Label2.Text &= e.KeyChar End If End If End Sub ------------- 以上のソースがあるのですが、どこでどうなっているというのを教えてほしいです。 もし意味不明な部分とかありましたら教えてください。

  • Vb.NetでFor~Nextの使い方

    登録したデータの中から該当するID(データの頭2つ)を抜き出し、それを参照にLabel5と6に名前と所属のデータを表示させています。 該当データがない場合はLabel4に該当なしと表示します。 下の様に作ってみたのですが、どのIDを打っても名前と所属はちゃんと出るのですが、該当なしまで一緒に表示されます。 これはどこを変更したらいいのでしょうか? Public Class Form1 Dim data(9) As String Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click End End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Data(0) = "01山田 花子     デバイス部" 以下Data(9)まで続く・・       End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click For i = 0 To 9 If Mid(ShainData(i), 1, 2) = TextBox1.Text Then Label5.Text = Mid(Data(i), 3, 9) Label6.Text = Mid(Data(i), 13, 2) Else Label4.Text = "該当なし。" End If Next

  • VB.NET 動的コントロールのインデックス

    VB.NET 2005で動的コントロールを複数作成し、 クリックされた動的コントロールのインデックスを 調べる方法はないでしょうか? 以下の様に動的コントロールLabel01とLabel02が複数並んでいて Label01(3)をクリックした時に、Label02(3)も同時に処理 したいのでインデックスを調べたいのですが方法がわかりません。 [Label01(1)] [Label02(1)] [Label01(2)] [Label02(2)] [Label01(3)] [Label02(3)] [Label01(4)] [Label02(4)] [Label01(5)] [Label02(5)]    :      : [Label01(x)] [Label02(x)] '----------------------------------------------- 'Label01(3)がクリックされたら、Label02(3)も"ok"を表示する Private Sub Lab01_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Dim lab01 As Label = CType(sender, Label) System.Diagnostics.Debug.WriteLine(lab01.Text & "が押されました。") lab01.Text = "ok" lab02(?).Text = "ok"  '←インデックスがわかりません End Sub '-----------------------------------------------

  • VB2008 Form間の計算について

    VB勉強中のものです。 次のようにプログラムを作成したいですので よろしくお願いします。 要望: 1 From2のTextbox1 or Textbox2に"2001/05/05"ような書式で日付を入力 2 RadioButton1かRadioButton2の選択して 3 Form1の「DateTimePicker」を利用して、日数の差を計算し、 Form2の label3に結果を表示させる 例: From2のTextbox1 = 2001/01/01 Form1の「DateTimePicker」 = 2002/01/01 RadioButton1を選択したら、 Label3内に " 誕生日から生まれて365日となりました" という結果が出れば、問題がないです。 ------------ Form 1 --------------------- Public Class Form1 Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.Click 'labelをクリックして、form2を開く Dim frmTmp As New Form2 frmTmp.ShowDialog() End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim intdate As Integer intdate = DateDiff(DateInterval.Day, DateTimePicker1.Value, Now) Label1.Text = "誕生日から生まれて" & intdate & "日となりました" End Sub End Class -------------------------------------------- -------------Form 2 ------------------------ Public Class Form2 Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged If RadioButton1.Checked = True Then Label3.Text = "*******わからない部分*******" End If End Sub End Class ----------------------------------------------------- 以上

専門家に質問してみよう