質問

列の 1 つがチェックボックスになっている複数列のリストビュー コントロールを使用できますか?サンプルコードやリンクをいただければ幸いです。

ビジュアルスタジオ2005を使用しています

役に立ちましたか?

解決

Allan Anderson は、これを行うためのカスタム コントロールを作成しました。ここで見つけることができます: http://www.codeproject.com/KB/list/aa_listview.aspx

そのコントロールのコード例を次に示します。


    GlacialList mylist = new GlacialList();

mylist.Columns.Add( "Column1", 100 ); // this can also be added 

         // through the design time support 

mylist.Columns.Add( "Column2", 100 ); 
mylist.Columns.Add( "Column3", 100 ); 
mylist.Columns.Add( "Column4", 100 ); 

GLItem item;

item = this.glacialList1.Items.Add( "Atlanta Braves" );
item.SubItems[1].Text = "8v";
item.SubItems[2].Text = "Live";
item.SubItems[2].BackColor = Color.Bisque;
item.SubItems[3].Text = "MLB.TV"; 

item = this.glacialList1.Items.Add( "Florida Marlins" );
item.SubItems[1].Text = "";
item.SubItems[2].Text = "Delayed";
item.SubItems[2].BackColor = Color.LightCoral;
item.SubItems[3].Text = "Audio";


item.SubItems[1].BackColor = Color.Aqua; // set the background 

      // of this particular subitem ONLY

item.UserObject = myownuserobjecttype; // set a private user object

item.Selected = true; // set this item to selected state

item.SubItems[1].Span = 2; // set this sub item to span 2 spaces


ArrayList selectedItems = mylist.SelectedItems; 
           // get list of selected items

他のヒント

グリッド ビュー コントロールを使用することをお勧めしますが、必要に応じて のみ チェックボックスのある列が 1 つあり、その列が 初め 次のように書くだけで済みます。

this.listView1.CheckBoxes = true;

以下のようにチェックボックス列を追加します。

myListView.CheckBoxes = true;
myListView.Columns.Add(text, width, alignment);

以下のように ListViewItem を追加します。

ListViewItem lstViewItem = new ListViewItem();
lstViewItem.SubItems.Add("Testing..");
lstViewItem.SubItems.Add("Testing1..");

myListView.Items.Add(lstViewItem);

試してみませんか マシュー・ホール著 XPTable

設定できるのは、 CheckBoxes 財産を true. 。コードでは、これは次のように実行できます。

listView1.CheckBoxes = true;

代わりにグリッド ビューを使用すると、列の内容をより細かく制御できます。

あなたが試すことができます ツリービューアドバンス. 。これはオープンソースであり、sourceforge でホストされています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top