C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■6105  もうひとつレポートの事で
□投稿者/ スライム -(2006/08/29(Tue) 15:18:12)

    分類:[VB.NET] 


    分類:[VB.NET] 

    先ほどはお騒がせしました、すみません
    先ほどと同じくVB.NETでActiveReportです
    ページ計を作りたいんですが、レポートフッターに入れずにページ計を作って
    データ部のすぐ下に出る様にするにはどうすればいいでしょうか?
    それとレポートが2枚以上になる場合にはページの最後にページ計を入れたいのですが。
    ちなみにレポートフッターには合計を入れてます
    アドバイスお願いします
親記事 /0過去ログ6より / 関連記事表示
削除チェック/

■6288  Re[2]: DataGridのItemDataBoundの代わり
□投稿者/ えおあ -(2007/08/07(Tue) 15:57:30)
    No6279 (いしだ さん) に返信
    > こんにちは。
    >
    > DataGridで以下のような処理だとします。
    >
    > protected void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
    > {
    > if (e.Item.ItemType == ListItemType.Item)
    > {
    > // 処理
    > }
    > }
    >
    > GridViewでは以下のようになるんじゃないでしょうか。
    >
    > protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    > {
    > if (e.Row.RowType == DataControlRowType.DataRow)
    > {
    > // 処理
    > }
    > }

    ありがとう御座います
    そのやり方で出来ましたがいまいちまだうまくいきません。
    表示する内容は
    SELECT ur_name, ur_password, ur_operator,ur_auth FROM tb_user
    でそのまま表示しています、デバックして中身を見たところ

    string b = e.Row.Cells[3].Text;
    string c = e.Row.Cells[2].Text;
    string d = e.Row.Cells[1].Text;
    string e = e.Row.Cells[0].Text;
     b はデータなし
     c はur_operatorの中身
     d はデータなし
     e はur_nameの中身
    と入っていたんですが
    ur_authの値を出したいんですがなぜか中身なしです。
    dのパスワードの箇所はGridViewでバインドせず*******表示にしてはいますがバインドした後のあたいならur_passwordの値もあってもいい気もしますが
    入っていません。
    一つ飛ばしなのでDataGridのようにListItemType.AlternatingItemのようにいれるのかとおもいきそのようなものはGridViewにはありませんでした。
    違う箇所を言うと
    ur_authはイント型というぐらいだとはおもうのですが、どうしたらいいのでしょうか?
    お願い致します
記事No.6245 のレス /過去ログ17より / 関連記事表示
削除チェック/

■6287  Re[3]: 文字列の全角半角判定
□投稿者/ ひろ -(2007/08/07(Tue) 15:47:01)
    > そんなことより、半角と全角の違いを定義しましょう。

    私の回答は「そんなこと」でしかた。
    これは失礼しました。

    半角と全角の定義については大事な話なので、このまま続けてください。
記事No.6223 のレス /過去ログ17より / 関連記事表示
削除チェック/

■29306  Re[3]: 非イベント型プログラムでの文字描画
□投稿者/ chobi -(2008/12/07(Sun) 19:49:51)
    > ここまでは調べていたのですが、提示した方法での場合 BeginPaintを使わないため
    > WIN 予約の部分を自分で設定するため知りたいのです。

    カーネルが勝手に使う領域なので私には分かりません。

    >>いまいちWM_PAINTを使わない理由が分かりませんが・・・・
    > ゆくゆくはゲームを作ろうと思っているので、描画はイベント発生時でなく、一定間隔で行う
    > 必要があるためです。

    InvalidateRect(), InvalidateRgn()等を一定感覚で呼んでクライアント領域を無効化させて
    WM_PAINTを発生させる方が自然なように思えますが・・・
記事No.29294 のレス /過去ログ53より / 関連記事表示
削除チェック/

■86469  Re[1]: ChartのX軸のタイトル表示
□投稿者/ mako -(2018/01/31(Wed) 17:00:32)
    お世話になっています。
    
    今、使ってるプログラムは下記のようなものですが実際のはもっと複雑ですので、あまり大きく変えたくないとこもあります。
    それプラス、我流ですが1分間隔のサンプルデータも作ってみました。
    よろしくお願いします。
    
    
    表示時刻の切り替えは、 RadioButton等 でしチャートを再表示しています。
    チャートによっては9:00・11:00と言った時間単位もありますし、別のデータにはなりますが日にちの場合もあります。
    
    サンプルデータでの時刻表示は、
     15分間隔場合は  8:15・8:30・8:45・10:30・10:45 と 起点の8:10と10:20
     30分間隔場合は  8:30 10:30 と 起点の8:10と10:20 
     60分間隔場合は  起点の8:10と10:20のみ
     9:00・11:0などと言った時間単位の場合は、起点の8:10と10:20のみ
    となります。
    
    もし可能でしたら見易くするために、起点の8:10と10:20の左側に棒グラフ2〜3本くらいの空白も。
    
    
        Private Structure datF
            Dim Jikoku As String      '時刻 (実際は "2018/01/30 16:30:00" などの日付も入った文字列)
            Dim Suu1 As Integer       '数量1
            Dim Suu2 As Integer       '数量2
        End Structure
        Dim Uridat(500) As datF
        Dim datS As Integer            'データ数
    
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            ' 1分間隔のサンプルデータをを成
            datS = -1
            For i = 10 To 45    ' 8:10〜8:45
                datS = datS + 1
                Uridat(datS).Jikoku = "8:" & Str(i)  '時刻
                Uridat(datS).Suu1 = i * 10           '数量1
                Uridat(datS).Suu2 = i * 5            '数量2
            Next
            For i = 20 To 55        ' 10:20〜10:55
                datS = datS + 1
                Uridat(datS).Jikoku = "10:" & Str(i)   '時刻
                Uridat(datS).Suu1 = i + 100            '数量1
                Uridat(datS).Suu2 = i + 20             '数量2
            Next
    
            '====   Chart1   ====
            Dim ds As New DataSet
            Dim dt As New DataTable
            Dim dtRow As DataRow
    
            '列の作成
            With dt.Columns
                .Add("時刻", GetType(String))
                .Add("数量1", GetType(Integer))
                .Add("数量2", GetType(Integer))
            End With
            ds.Tables.Add(dt)
    
            'データのセット
            For i = 0 To datS
                dtRow = ds.Tables(0).NewRow
                dtRow(0) = Uridat(i).Jikoku    '時刻
                dtRow(1) = Uridat(i).Suu1      '数量1
                dtRow(2) = Uridat(i).Suu2      '数量2
                ds.Tables(0).Rows.Add(dtRow)
            Next
    
            'Chart に表示するデータソースを設定
            Chart1.DataSource = ds
            Chart1.Series.Clear()
            '
            Dim ore = Chart1.Series.Add("折れ線")
            With ore
                .ChartType = DataVisualization.Charting.SeriesChartType.Line
                .XValueMember = "時刻"
                .YValueMembers = "数量1"
            End With
    
            Dim bou = Chart1.Series.Add("棒グラフ")
            With bou
                .ChartType = DataVisualization.Charting.SeriesChartType.Column
                '.XValueMember = "時刻"
                .YValueMembers = "数量2"
            End With
        End Sub
    
    
記事No.86333 のレス /過去ログ148より / 関連記事表示
削除チェック/

■86471  Re[2]: ChartのX軸のタイトル表示
□投稿者/ shu -(2018/02/01(Thu) 09:44:10)
    No86469 (mako さん) に返信
    
    
    提示されたコードに手を加えたものです。サンプルデータ作成時のStr関数によるものはスペースがふくまれてしまうので
    記述を変更させていただきました。
    
    時間毎にグループ化し最初のデータはかならず出力しそれ以外はインターバルに合った時間のもののみ対象とするようにしてあります。
    
    
    Public Class Form1
        Private Structure datF
            Dim Jikoku As String      '時刻 (実際は "2018/01/30 16:30:00" などの日付も入った文字列)
            Dim Suu1 As Integer       '数量1
            Dim Suu2 As Integer       '数量2
        End Structure
        Dim Uridat(500) As datF
        Dim datS As Integer            '
    
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            ' 1分間隔のサンプルデータをを成
            datS = -1
            For i = 10 To 45    ' 8:10〜8:45
                datS = datS + 1
                'Uridat(datS).Jikoku = "8:" & Str(i)  '時刻
                Uridat(datS).Jikoku = $"8:{i:00}"  '時刻
                Uridat(datS).Suu1 = i * 10           '数量1
                Uridat(datS).Suu2 = i * 5            '数量2
            Next
            For i = 20 To 55        ' 10:20〜10:55
                datS = datS + 1
                'Uridat(datS).Jikoku = "10:" & Str(i)   '時刻
                Uridat(datS).Jikoku = $"10:{i:00}"   '時刻
                Uridat(datS).Suu1 = i + 100            '数量1
                Uridat(datS).Suu2 = i + 20             '数量2
            Next
    
            '====   Chart1   ====
            Dim ds As New DataSet
            Dim dt As New DataTable
            Dim dtRow As DataRow
    
            '列の作成
            With dt.Columns
                .Add("時刻", GetType(String))
                .Add("数量1", GetType(Integer))
                .Add("数量2", GetType(Integer))
            End With
            ds.Tables.Add(dt)
    
            'データのセット
            For i = 0 To datS
                dtRow = ds.Tables(0).NewRow
                dtRow(0) = Uridat(i).Jikoku    '時刻
                dtRow(1) = Uridat(i).Suu1      '数量1
                dtRow(2) = Uridat(i).Suu2      '数量2
                ds.Tables(0).Rows.Add(dtRow)
            Next
    
            'Chart に表示するデータソースを設定
            Dim min As DateTime = Nothing
            Dim max As DateTime = Nothing
            Dim intr = 30
            Dim tbl = GetChartDs(ds, intr, min, max)
            Chart1.DataSource = tbl.Select("", "時刻")
            Chart1.Series.Clear()
            '
            With Chart1.ChartAreas(0)
                With .AxisX
                    .Minimum = min.ToOADate
                    .Maximum = max.ToOADate
                    .IntervalType = DataVisualization.Charting.DateTimeIntervalType.Minutes
                    .Interval = intr
    
                    Dim isFirst = True
                    For Each row In tbl.Select("", "時刻")
                        Dim d = row.Field(Of Date)("時刻")
                        Dim null = row.IsNull("数量1")
                        If Not null Then
                            With .CustomLabels.Add(d.AddMinutes(-intr \ 3).ToOADate, d.AddMinutes(intr \ 3).ToOADate, d.ToString("HH:mm"))
                                .RowIndex = 0
                            End With
                        End If
                        isFirst = False
                    Next
                End With
            End With
    
            Dim ore = Chart1.Series.Add("折れ線")
            With ore
                .ChartType = DataVisualization.Charting.SeriesChartType.Line
                .EmptyPointStyle.SetDefault(True)
                .XValueMember = "時刻"
                .YValueMembers = "数量1"
            End With
    
            Dim bou = Chart1.Series.Add("棒グラフ")
            With bou
                .ChartType = DataVisualization.Charting.SeriesChartType.Column
                .XValueMember = "時刻"
                .YValueMembers = "数量2"
            End With
        End Sub
    
        Private Function GetChartDs(Src As DataSet, IntrMin As Integer,
                                    ByRef Min As DateTime, ByRef Max As DateTime) As DataTable
            Dim ret As New DataTable()
            Min = Nothing
            Max = Nothing
    
            With ret.Columns()
                .Add("時刻", GetType(DateTime))
                .Add("数量1", GetType(Integer))
                .Add("数量2", GetType(Integer))
            End With
    
            For Each itm In (From r In Src.Tables(0).Select()
                             Let d = Function(s As String) As Date
                                         Dim d2 As Date = Nothing
                                         If Date.TryParseExact(s, {"HH:mm", "H:m"}, Nothing, Nothing, d2) Then
                                             Return d2
                                         Else
                                             Return CDate(Nothing)
                                         End If
                                     End Function(r.Field(Of String)("時刻"))
                             Let h = d.Hour
                             Group By h Into rows = Group)
    
                Dim hour = itm.h
                Dim min2 As Date = Nothing
                For Each rowItm In itm.rows
                    Dim row = rowItm.r
                    Dim d = rowItm.d
                    Dim disp = False
                    If Min = Nothing OrElse d < Min Then Min = d : disp = True
                    If Max = Nothing OrElse d > Max Then Max = d
                    If min2 = Nothing OrElse d < min2 Then min2 = d : disp = True
                    If Not disp Then
                        If d.Minute Mod IntrMin = 0 Then
                            disp = True
                        End If
                    End If
                    If disp Then
                        ret.Rows.Add(d, row("数量1"), row("数量2"))
                    End If
                Next
            Next
    
            If Min <> Nothing Then
                Min = Min.AddMinutes(-(Min.Minute Mod IntrMin) - IntrMin * 2)
            End If
            If Max <> Nothing Then
                Max = Max.AddMinutes(-(Max.Minute Mod IntrMin) + IntrMin * 2)
            End If
    
            Dim d1 As Date = Min
            For Each row In ret.Select("", "時刻")
                Dim d2 = row.Field(Of Date)("時刻")
                Do While d1 < d2
                    ret.Rows.Add(d1, DBNull.Value, DBNull.Value)
                    d1 = d1.AddMinutes(IntrMin)
                Loop
                d1 = d2.AddMinutes(IntrMin)
            Next
            ret.AcceptChanges()
    
            Return ret
        End Function
    
    End Class
    
記事No.86333 のレス /過去ログ148より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -