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

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

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

No.68988 の関連記事表示

<< 0 >>
■68988  チェックリストボックスへのバインドと項目編集
□投稿者/ Яアルビノフォックス -(2013/11/27(Wed) 15:32:39)

    分類:[VB.NET/VB2005 以降] 

    チェックリストへのバインドについて質問です。開発環境はVS2010、言語はc#です
    下のようなデータテーブル定義があります。

    列名    データ型
    管理番号   int
    基準年度-2  bit
    基準年度-1  bit
    基準年度-0 bit
    基準年度格納 int

    実際のデータはこのような形です

    管理番号 基準年度-2 基準年度-1 基準年度-0 基準年度格納
       1  true  true true 2010
    2 true true false 2011

    これをチェックリストボックスにバインドしたいのですが、このような形で行いたいのです。

    管理番号 1
    =====ここからチェックリストボックス====
    □"基準年度-2"年度 //この場合【2008年度】と出力したい
    □"基準年度-1"年度 //【2009年度】と出力したい
    □"基準年度-0"年度 //【2010年度】と出力したい

    基準年度をいじりたい(毎年使えるようにしたい)ため、このような形を取りたいのですがどのようなコードを書いたらよろしいでしょうか?
    一応このようなコードを書きかけたのですが、これ以上どうしたものかが分からなくなってしまいました。

    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) {
    int x=comboBox.Text;//管理番号を入力したボックス
    checklistBox1.DataBindings.Add("Bool",taskListBindingSource,"ここに何を入力?")
         //表示項目を基準年度格納欄を参照した数字に編集
    }

    後にデータベースに書き込むことになるのでボックスへのバインドで処理したいのです。
    よろしくお願いします
親記事 /過去ログ117より / 関連記事表示
削除チェック/

■68989  Re[1]: チェックリストボックスへのバインドと項目編集
□投稿者/ 魔界の仮面弁士 -(2013/11/27(Wed) 16:14:03)
    No68988 (Яアルビノフォックス さん) に返信
    > 分類:[VB.NET/VB2005 以降] 
    > 開発環境はVS2010、言語はc#です

    どちらを信じればよいのやら。(^_^;)


    > これをチェックリストボックスにバインドしたいのですが
    バインドはサポートされていないので、個別に割り当ててください。

    http://msdn.microsoft.com/ja-jp/library/system.windows.forms.checkedlistbox%28vs.100%29.aspx
    》メモ
    》 CheckedListBox にはデータをバインドできません。 代わりに、ComboBox または ListBox を
    》 使用します。詳細については、「方法 : Windows フォームの ComboBox または ListBox コントロールを
    》 データにバインドする 」を参照してください。


    という事で、こういったものを作成される方もいるようで。

    [Bindable CheckedListBox]
    http://www.codeproject.com/Articles/14916/Bindable-CheckedListBox


    あるいは DataGridView で代用するとか。
記事No.68988 のレス /過去ログ117より / 関連記事表示
削除チェック/

■68990  Re[1]: チェックリストボックスへのバインドと項目編集
□投稿者/ 魔界の仮面弁士 -(2013/11/27(Wed) 16:45:55)
    No68988 (Яアルビノフォックス さん) に返信
    > 後にデータベースに書き込むことになるのでボックスへのバインドで処理したいのです。
    
    
    特に CheckedListBox へのこだわりが無いのであれば、
    単純に CheckBox を並べて使うと言う手もあります。
    
    
    
    // 実際はデータベースから取得
    DataSet CreateSample()
    {
        var ds1 = new DataSet();
        var tbl = ds1.Tables.Add("TBL");
        tbl.Columns.Add("管理番号", typeof(int));
        tbl.Columns.Add("基準年度-2", typeof(bool));
        tbl.Columns.Add("基準年度-1", typeof(bool));
        tbl.Columns.Add("基準年度-0", typeof(bool));
        tbl.Columns.Add("基準年度格納", typeof(int));
        tbl.PrimaryKey = new DataColumn[] { tbl.Columns["管理番号"] };
    
        tbl.Rows.Add(1, true, true, true, 2010);
        tbl.Rows.Add(2, true, true, false, 2011);
    
        return ds1;
    }
    
    private DataSet ds;
    private void Form1_Load(object sender, EventArgs e)
    {
        ds = CreateSample();
    
        bindingSource1.DataSource = ds.Tables["TBL"];
    
        comboBox1.DataSource = bindingSource1;
        comboBox1.DisplayMember = "管理番号";
    
        checkBox1.DataBindings.Add("Checked", bindingSource1, "基準年度-2");
        checkBox2.DataBindings.Add("Checked", bindingSource1, "基準年度-1");
        checkBox3.DataBindings.Add("Checked", bindingSource1, "基準年度-0");
    }
    
    private void bindingSource1_CurrentChanged(object sender, EventArgs e)
    {
        var row = ((DataRowView)bindingSource1.Current).Row;
        int y = (int)row["基準年度格納"];
    
        checkBox1.Text = string.Format("{0}年度", y - 2);
        checkBox2.Text = string.Format("{0}年度", y - 1);
        checkBox3.Text = string.Format("{0}年度", y - 0);
    }
記事No.68988 のレス /過去ログ117より / 関連記事表示
削除チェック/

■68992  Re[2]: チェックリストボックスへのバインドと項目編集
□投稿者/ Яアルビノフォックス -(2013/11/27(Wed) 17:24:26)
    No68990 (魔界の仮面弁士 さん) に返信
    > 特に CheckedListBox へのこだわりが無いのであれば、
    > 単純に CheckBox を並べて使うと言う手もあります。

    初期のプロットが年度加算方式だったのでチェックボックスを増やす必要があるかな?と思って CheckedListBox を選んだのですが、
    バインド対応していない以上、 CheckBox にバインドして使ったほうがよさそうですね。

    頂いたコード参考にさせていただきます。
    ありがとうございました。
記事No.68988 のレス / END /過去ログ117より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -