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

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

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

全過去ログを検索

<< 0 >>
■30010  Re[1]: java HashMapの問題について
□投稿者/ .SHO -(2008/12/17(Wed) 14:32:25)
    No30009 (kei さん) に返信
    > 実行結果
    > C:\java>java MeiboMain.java
    > 名前を入力してください。
    > ogawa
    > ogawaさんの住所は北海道です。
    > ogawaさんの年齢は15歳です。

    正常に動いてますけど…
記事No.30009 のレス /過去ログ54より / 関連記事表示
削除チェック/

■46069  Re[17]: コントロール・フォントスタイル変更時のFont解放について
□投稿者/ たくボン -(2010/01/25(Mon) 12:59:05)
    No46064 (Jitta on the way さん) に返信
    > ■No46061 (たくボン さん) に返信
    >>■No46057 (なちゃ さん) に返信
    > >>一応書いておこう。
    > >>それならたくボンさんは何も悪くない(悪いというのは本当に悪いという意味ではなくて、ちょっといい言葉が浮かびませんが、仕方ない?とか?)
    >>
    >>おいおい、どんだけ上から目線やねん。
    >>お前はそんなに偉いの?
    >>
    >>俺は別に聞きたいことなんかないんで、そこは勘違いしなくてOK。
    >
    > なんか、付いていけなくなったから脇道にそらしたように見える。

    そうだねぇ。
    俺頭悪いから付いていけないみたいだから教えてください。


    Label1.Font = null;

    とした時の、System.Windows.Forms.Control.GetParentFont + 0x14〜0x17の

    00000014 xor eax,eax
    00000016 pop esi
    00000017 pop ebp
    00000018 ret

    は何してるのか教えてください。
    esi, eaxが何指してて、何を返却してるのかとか。

    PropertyS tore.LocateObjectEntryやPropertyS tore.GetObjectは長いから省略してるから、重要なレジスタとアセンブリの位置、意味を書いてくれたら助かります。

    もし、わかるならSystem.Windows.Forms.Control.get_ParentInternal + 0x35くらいから説明してもらえると助かるなぁ。(この辺から公式の資料も無かったりしてレジスタの値がピンとこない)

    なちゃさんもjittaさんも、かなり詳しいみたいだから、わかりやすく教えてくれると助かるなぁ。

    [S tore]は使えないみたいだから、空白省略してくださいね。
記事No.45896 のレス /過去ログ78より / 関連記事表示
削除チェック/

■85480  C# WebBrowserで一部の画像が表示されない
□投稿者/ たかし -(2017/10/28(Sat) 21:42:21)

    分類:[C#] 

    開発環境
    ・Windows10
    ・Visual Studio 2013
    ・Windows Formアプリケーション


    <body>
    <img src="xxxx">
    <a href="javascript:void(0);" onclick="javascript:drawImage(1);">画像更新</a>
    <body>


    初めまして。

    WebBrowserからアクセスした特定のWebページ内の画像が表示されなく、困っております。

    画像は、aタグのリンクを押すとJavaScriptが実行され生成されるのですが、
    そのままでは表示されることが無く、imgタグ上で右クリック → 画像の表示(H)を押すと表示されます。

    IEを直接操作してアクセスした場合は問題なく表示されますが、WebBrowserですと表示されません。
    その他の画像についてはすべて表示されております。
    Webbrowser で使用しているIEのバージョンは11です。

    原因がわかる方がいらっしゃいましたらご教示願います。

    宜しくお願い致します。



親記事 /過去ログ146より / 関連記事表示
削除チェック/

■91945  Re[1]: コンボボックスによる絞り込み
□投稿者/ 魔界の仮面弁士 -(2019/08/12(Mon) 23:30:27)
    No91943 (たかし さん) に返信
    > の2つのテーブルがありフォーム上にはComboBox1ととComboBox2があります。

    Windows Forms アプリケーションを作成していて、
    tbl_部署というのは DataTable の事で良いでしょうか。

    言語指定が無かったですが、comboBox1 ではなく ComboBox1 と書かれていたので、
    とりあえず Visual Basic と仮定して書いてみます。


    Public Class Form1
      Private ds As DataSet
      Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ds = CreateSample()

        ds.Relations.Add("rel_部署_社員",
                 ds.Tables("tbl_部署").Columns("部署コード"),
                 ds.Tables("tbl_社員").Columns("部署コード"))

        Me.BindingSource1.DataSource = ds
        Me.BindingSource1.DataMember = "tbl_部署"

        Me.BindingSource2.DataSource = Me.BindingSource1
        Me.BindingSource2.DataMember = "rel_部署_社員"

        ComboBox1.DataSource = Me.BindingSource1
        ComboBox1.ValueMember = "部署コード"
        ComboBox1.DisplayMember = "部署名"
        ComboBox2.DataSource = Me.BindingSource2
        ComboBox2.ValueMember = "社員コード"
        ComboBox2.DisplayMember = "社員名"
      End Sub

      Private Function CreateSample() As DataSet
        Dim ds As New DataSet("Sample") With {.CaseSensitive = True}
        Dim tbl1 As DataTable = ds.Tables.Add("tbl_部署")
        Dim tbl2 As DataTable = ds.Tables.Add("tbl_社員")

        tbl1.Columns.Add("部署コード", GetType(Decimal)).AllowDBNull = False
        tbl1.Columns.Add("部署名", GetType(String)).AllowDBNull = False
        tbl1.PrimaryKey = New DataColumn() {tbl1.Columns("部署コード")}

        tbl2.Columns.Add("社員コード", GetType(String)).AllowDBNull = False
        tbl2.Columns.Add("社員名", GetType(String)).AllowDBNull = False
        tbl2.Columns.Add("部署コード", GetType(Decimal)).AllowDBNull = True
        tbl2.PrimaryKey = New DataColumn() {tbl2.Columns("社員コード")}

        tbl1.Rows.Add(10000D, "総務部")
        tbl1.Rows.Add(10020D, "総務部総務課")
        tbl1.Rows.Add(12000D, "営業部")
        tbl1.Rows.Add(12010D, "営業部営業一課")

        tbl2.Rows.Add("AX0020", "金田 一太郎", 10000D)
        tbl2.Rows.Add("BY0112", "今西 欣治", 10020D)
        tbl2.Rows.Add("DX0987", "有馬 貴臣", 10020D)
        tbl2.Rows.Add("DX1024", "山口 六平太", 10020D)
        tbl2.Rows.Add("PN0132", "緒方 賢太", 12000D)
        tbl2.Rows.Add("PC1024", "片岡 孝夫", 12010D)
        tbl2.Rows.Add("PC2048", "久米 広明", 12010D)

        ds.AcceptChanges()
        Return ds
      End Function
    End Class
記事No.91943 のレス /過去ログ160より / 関連記事表示
削除チェック/

■91972  Re[2]: コンボボックスによる絞り込み
□投稿者/ たかし -(2019/08/15(Thu) 15:44:43)
    No91945 (魔界の仮面弁士 さん) に返信
    > ■No91943 (たかし さん) に返信
    >>の2つのテーブルがありフォーム上にはComboBox1ととComboBox2があります。
    > 
    > Windows Forms アプリケーションを作成していて、
    > tbl_部署というのは DataTable の事で良いでしょうか。
    > 
    > 言語指定が無かったですが、comboBox1 ではなく ComboBox1 と書かれていたので、
    > とりあえず Visual Basic と仮定して書いてみます。
    > 
    > 
    > Public Class Form1
    >   Private ds As DataSet
    >   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    >     ds = CreateSample()
    > 
    >     ds.Relations.Add("rel_部署_社員",
    >              ds.Tables("tbl_部署").Columns("部署コード"),
    >              ds.Tables("tbl_社員").Columns("部署コード"))
    > 
    >     Me.BindingSource1.DataSource = ds
    >     Me.BindingSource1.DataMember = "tbl_部署"
    > 
    >     Me.BindingSource2.DataSource = Me.BindingSource1
    >     Me.BindingSource2.DataMember = "rel_部署_社員"
    > 
    >     ComboBox1.DataSource = Me.BindingSource1
    >     ComboBox1.ValueMember = "部署コード"
    >     ComboBox1.DisplayMember = "部署名"
    >     ComboBox2.DataSource = Me.BindingSource2
    >     ComboBox2.ValueMember = "社員コード"
    >     ComboBox2.DisplayMember = "社員名"
    >   End Sub
    > 
    >   Private Function CreateSample() As DataSet
    >     Dim ds As New DataSet("Sample") With {.CaseSensitive = True}
    >     Dim tbl1 As DataTable = ds.Tables.Add("tbl_部署")
    >     Dim tbl2 As DataTable = ds.Tables.Add("tbl_社員")
    > 
    >     tbl1.Columns.Add("部署コード", GetType(Decimal)).AllowDBNull = False
    >     tbl1.Columns.Add("部署名", GetType(String)).AllowDBNull = False
    >     tbl1.PrimaryKey = New DataColumn() {tbl1.Columns("部署コード")}
    > 
    >     tbl2.Columns.Add("社員コード", GetType(String)).AllowDBNull = False
    >     tbl2.Columns.Add("社員名", GetType(String)).AllowDBNull = False
    >     tbl2.Columns.Add("部署コード", GetType(Decimal)).AllowDBNull = True
    >     tbl2.PrimaryKey = New DataColumn() {tbl2.Columns("社員コード")}
    > 
    >     tbl1.Rows.Add(10000D, "総務部")
    >     tbl1.Rows.Add(10020D, "総務部総務課")
    >     tbl1.Rows.Add(12000D, "営業部")
    >     tbl1.Rows.Add(12010D, "営業部営業一課")
    > 
    >     tbl2.Rows.Add("AX0020", "金田 一太郎", 10000D)
    >     tbl2.Rows.Add("BY0112", "今西 欣治", 10020D)
    >     tbl2.Rows.Add("DX0987", "有馬 貴臣", 10020D)
    >     tbl2.Rows.Add("DX1024", "山口 六平太", 10020D)
    >     tbl2.Rows.Add("PN0132", "緒方 賢太", 12000D)
    >     tbl2.Rows.Add("PC1024", "片岡 孝夫", 12010D)
    >     tbl2.Rows.Add("PC2048", "久米 広明", 12010D)
    > 
    >     ds.AcceptChanges()
    >     Return ds
    >   End Function
    > End Class
    
    
    魔界の仮面弁士さま、お世話になります。
    ご返事が遅くなり申し訳ありません。
    先日お忙しい中、わざわざご提示いただいたコードにて絞り込み検索はできました。
    どうもありがとうございます。
    
    申し訳ないのですが、もう少し質問をさせてください。
    実は弊社の従業員は650人程おりまして部署の数も十数ほどあります。
    退職者や新入社員、また部署の異動なども頻繁に行なわれます。
    このようなことに対応するために、コード内の追加ではなく、
    ListRow(VBにはないようですが)を、テーブルあるいはビューから持ってくることは出来ないものでしょうか?
    ストアドプロシージャも試しましたが、WindowsFormからのパラメータ操作の仕方が難しすぎて分かりません。
    何よりExcelやAccessでは簡単に実現出来るこれらの機能の説明が、
    そもそもVB.NETではウェブのどこを探しても出てきません(私の探し方が悪いのかもしれませんが)。
    そのようなわけでもしかしてこれは不可能なのではと思い始めています。
    
    実はDataGridViewで目的に近いものが作成できることが分かったところなのですが、
    当初の目論見通りふたつのComboBoxだけで実行する方法が何とも諦めきれません。
    どうかもう少しお知恵をお借りできないでしょうか?
    よろしくお願いいたします。たかし
    
記事No.91943 のレス /過去ログ160より / 関連記事表示
削除チェック/

■91973  Re[3]: コンボボックスによる絞り込み
□投稿者/ 魔界の仮面弁士 -(2019/08/15(Thu) 16:45:22)
    No91972 (たかし さん) に返信
    > ListRow(VBにはないようですが)を、テーブルあるいはビューから持ってくることは出来ないものでしょうか?

    それでも良いですよ。

    DataTable に格納するデータは、手動で登録したデータだけではなく、
    DataAdapter 等を用いて、データベースに問い合わせて取得したデータでも構いません。

    VB にとってみれば、DataTable にデータが保持されているという点が重要なのであって、
    その元データがどこから来たものであるのかは、特に問われません。



    > 実は弊社の従業員は650人程おりまして部署の数も十数ほどあります。

    それは在籍者の人数でしょうか。
    ComboBox に全部署の人数を表示するとなると、探すだけでも手間なので、
    部署で絞り込んでから表示できた方が良いのでしょうね。


    で…退職者も含めるとすると、データ件数としては数千件規模でしょうか?
    その程度なら、DataTable に全件ロードしておいても問題無いと思います。
    画面上に全部を表示することはなく、その中の一部だけが絞り込まれるのであれば。


    > 退職者や新入社員、また部署の異動なども頻繁に行なわれます。

    退職者(過去データ)や入社予定者(未来データ)も出力するとしたら、
    部署の統合・分割・廃止・名称変更については、どのように表現されるのでしょうか?


    > ストアドプロシージャも試しましたが、WindowsFormからのパラメータ操作の仕方が難しすぎて分かりません。
    どのデータベース製品を使っていて、どういうストアドを作ってみたのかが分からないので、
    具体的なサンプルは提示できません。(^^;



    それと、データベースからデータを取得する際の「タイミング」と「取得範囲」も考えておきましょう。

    【タイミング】
    Form_Load 時?
    Button_Click 時?
    ComboBox_SelectedIndexChanged 時?

    【取得範囲】
    在籍している全社員を問い合わせる?
    退職者や未来入社も含めた全社員を問い合わせる?
    指定した部署の社員のみで良い?


    (案1) Load 時に、部署と社員情報を、すべてを事前に読み取っておく。
     結果としては No91945 とほぼ同じ処理になる。

    (案2) Load 時には部署だけ読み取っておき、ComboBox1 を操作するたびに、
     ComboBox2 用の社員データを、毎回データベースに問い合わせるようにする。

    (案3) 案2 に近いが、毎回データベースに問い合わせるのではなく、
     一度読み取った部署のデータは、前回の取得結果を使うようにする。
記事No.91943 のレス /過去ログ160より / 関連記事表示
削除チェック/

■91991  Re[5]: コンボボックスによる絞り込み
□投稿者/ 魔界の仮面弁士 -(2019/08/16(Fri) 10:24:30)
    2019/08/16(Fri) 11:16:45 編集(投稿者)

    No91988 (たかし さん) に返信
    > >退職者(過去データ)や入社予定者(未来データ)も出力するとしたら、
    > >部署の統合・分割・廃止・名称変更については、どのように表現されるのでしょうか?
    > そうなんです。そこが問題でまだ解決していないのです。

    一例として:

    たとえば、部署マスタが年度単位で刷新されるような場合、
    「対象年度」を入れる入力欄を設けておき(既定値は今年度)、
    その年度分の部署一覧を ComboBox1 にロードするような設計にすることがあります。

    年度途中での入れ替わりがある場合や、
    部署間の人事異動や、退職後の再任用も追跡するようなケースでは、
    「対象年月日」を範囲指定する設計にする事もあります。


    > Accessのサブフォームのような機能がVBにもあるとよいのですが。
    WinForm だと DataRepeater コントロールぐらいですかね。
    WPF とか ASP.NET だと、もう少しやりようがありそうですが。

    https://blogs.msdn.microsoft.com/vbteamjp/2008/06/06/data-repeater-power-packs-beth-massi/
    https://blogs.yahoo.co.jp/yss2216/6161472.html


    >> データベースからデータを取得する際の「タイミング」と「取得範囲」も考えておきましょう。
    > 流れとしてはComboBox1で部署を選択し、ComboBox2で社員を選択、
    > そして社員に関するすべてのデータを呼び出すという感じを考えています。

    選択した社員の情報を読み込むのは、Button1_Click あたりに置いといて、
    コンボボックスの選択値で読み込めば良いだけなので、そう難しくは無いはず。

    問題視しているのはその前。
    ComboBox1 に表示するための部署データ群や、
    ComboBox2 に表示するための社員データ群を取得する際の話です。


    『異動情報が頻繁に更新される』との事でしたので、
    SQL Server から、部署名や社員名の一覧を SELECT で読み込むのが、
    「どのイベント」で「どの範囲(WHERE条件)」を読み込んでくるのかを
    考えておくべきなのかな、と。


    Form1_Load 時に全件ロードしておく方法だと、
    サーバー側が変更(新規採用、死亡退職、苗字変更、配置部署確定)されても、
    ComboBox に表示される情報は、Load 時点のキャッシュデータのままです。

    かといって、ComboBox がドロップダウンされた瞬間に データを取り出して
    その ComboBox にアイテムを追加する方法では、タイミング的に間に合わないですし。

    ComboBox の一覧を再読み込みするためのリロードボタンを用意するという手もありますが、
    いずれにせよ、アプリケーション要件次第で変わってきますね。


    > 絞り込むタイミングとしてはComboBox2のMouseDownイベントがいいのではないかと。

    MouseDown が発生するとは限りませんので、それを前提として
    設計するのは避けたほうが良いでしょう。

    たとえば、Tab キーによってフォーカス移動してくることもありますよね。
    ComboBox がアクティブになっている状態から、
    ドロップダウンさせないまま、上下矢印キーで項目が変更されたり、
    アイテム名の頭文字を入力して候補を選択したり、
    [F4] キーあるいは、[Alt]+[下]キーでドロップダウンされることもあります。


    > データを呼び出すタイミングはComboBox.SelectedIndexChanged イベントないしは
    > CommandButtonクリックイベントです。

    VBA や VB6 などでは CommandButton と呼ばれていましたが、
    VB.NET においては、ただの Button です。


    SelectedIndxChanged や SelectionChangeCommitted は、
    上下キーやマウスホイールなどによる操作により
    何度も高速に呼ばれることがある点を考慮しておいてください。


    No91945 で ComboBox1 の切り替えで ComboBox2 の内容を入れ替えたときのように、
    既に DataSet に取得済みデータ内からの絞込みぐらいなら何とかなるでしょうけれども、
    SQL Server からの随時読み込みを SelectedIndexChanged のタイミングで行うというのは、
    パフォーマンス上の問題が生じます。


    なので個人的には、ComboBox2_SelectedIndexChanged では、
    画面上の社員情報の表示をクリアするだけに留めておき、
    Button1_Click で ComboBox2.SelectedValue を SQL Server に渡して、
    社員情報を読み込みさせる方法を提案しておきます。
    ボタンがあると、同じ条件で「再読み込み」する場合にも便利ですし。
記事No.91943 のレス /過去ログ160より / 関連記事表示
削除チェック/

■92037  Re[16]: コンボボックスによる絞り込み
□投稿者/ WebSurfer -(2019/08/19(Mon) 18:36:21)
    No92036 (たかし さん) に返信

    > 次の方法でOKです。
    >
    > >(1) 事前に SQL Server から全ての情報を DataTable に読み取ってからそれを操作

    そうであれば、No92025 に書いてあった、

    > Me.Tbl_部署TableAdapter.Fill(Me.ComboBoxSampleDataSet.tbl_部署)
    > Me.Qry_社員TableAdapter.Fill(Me.ComboBoxSampleDataSet.qry_社員)

    で、Me.ComboBoxSampleDataSet.tbl_部署 と Me.ComboBoxSampleDataSet.qry_社員 に
    DataTable が取得できていると思いますので、それを使ってはいかがですか?

    No91945 の魔界の仮面弁士さんの回答にあるように Relations をすれば期待した結果
    が得らられるといます。

    ただし、SQL Server のテーブルに FK 制約が設定されていれば、自動的に設定される
    はずなので、魔界の仮面弁士さんのコードの ds.Relations.Add("rel_部署_社員",..
    は不要だと思います。

    分からない点がありましたら質問してください。
記事No.91943 のレス /過去ログ160より / 関連記事表示
削除チェック/

■92438  Re[9]: コンボボックスによる絞り込み
□投稿者/ WebSurfer -(2019/09/25(Wed) 19:07:08)
    No92372 (たかし さん) に返信

    一番最初の質問はもうどうでもいいのですかね?

    > もちろん解決法があるのであれば是非お伺いしたいですが・・・。

    ということでしたよね?

    No92373 で解決法は書いてあると書きましたが、それは No91945No92037 です。
    それを見ても分かりませんでしたか? であれば、その旨フィードバックしてもらい
    たいのですが。
記事No.91943 のレス /過去ログ160より / 関連記事表示
削除チェック/

■92463  Re[11]: コンボボックスによる絞り込み
□投稿者/ WebSurfer -(2019/09/27(Fri) 20:39:46)

    No92372 (たかし さん) に返信

    一番最初の質問はもうどうでもいいのですかね?

    > もちろん解決法があるのであれば是非お伺いしたいですが・・・。

    ということでしたよね?

    No92373 で解決法は書いてあると書きましたが、それは No91945No92037 です。
    それを見ても分かりませんでしたか? であれば、その旨フィードバックしてもらい
    たいのですが。
記事No.91943 のレス /過去ログ160より / 関連記事表示
削除チェック/

■92516  Re[13]: コンボボックスによる絞り込み
□投稿者/ WebSurfer -(2019/10/01(Tue) 18:16:18)

    No92372 (たかし さん) に返信

    > もちろん解決法があるのであれば是非お伺いしたいですが・・・。

    ということでしたよね?

    No91945No92037 を見ても分かりませんでしたか? であれば、その旨
    フィードバックしてもらいたいのですが。
記事No.91943 のレス /過去ログ160より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -