作成日: 2020/12/15 最終更新日: 2022/07/13
文書種別
使用方法
詳細
SelectionModeプロパティを「ListBox」にすると、複数行を選択できます。
このとき、全ての行を走査して、RowクラスのSelectedプロパティがTrueかどうかを見ることで、すべての選択行の番号を取得することができます(方法1)。
また、RowCollectionクラスのSelectedプロパティで選択行全体のコレクションを取得し、それらのインデックスから同様な番号を取得することもできます(方法2)。
なお、RowクラスのSelectedプロパティを設定することで、任意の行を選択状態にすることが可能です。
※下記サンプルコードでそれぞれの方法を紹介しています。
・ボタン1:方法1による選択行の取得
・ボタン2:方法2による選択行の取得
・ボタン3:任意の行を選択状態にする方法
◎サンプルコード(VB)
更新履歴
・2022/07/13 タイトルの変更
このとき、全ての行を走査して、RowクラスのSelectedプロパティがTrueかどうかを見ることで、すべての選択行の番号を取得することができます(方法1)。
また、RowCollectionクラスのSelectedプロパティで選択行全体のコレクションを取得し、それらのインデックスから同様な番号を取得することもできます(方法2)。
なお、RowクラスのSelectedプロパティを設定することで、任意の行を選択状態にすることが可能です。
※下記サンプルコードでそれぞれの方法を紹介しています。
・ボタン1:方法1による選択行の取得
・ボタン2:方法2による選択行の取得
・ボタン3:任意の行を選択状態にする方法
◎サンプルコード(VB)
Imports C1.Win.C1FlexGrid
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
C1FlexGrid1.SelectionMode = SelectionModeEnum.ListBox
End Sub
Private Sub button1_Click(sender As Object, e As EventArgs) Handles button1.Click
' 選択行の取得(1)
For i = C1FlexGrid1.Rows.Fixed To C1FlexGrid1.Rows.Count - 1
If (C1FlexGrid1.Rows(i).Selected = True) Then
Console.WriteLine(i.ToString() + "行目が選択されています")
End If
Next
Console.WriteLine("選択行数:" + C1FlexGrid1.Rows.Selected.Count.ToString())
End Sub
Private Sub button2_Click(sender As Object, e As EventArgs) Handles button2.Click
' 選択行の取得(2)
Dim n As Integer = 0
For Each r As Row In C1FlexGrid1.Rows.Selected
Console.WriteLine(r.Index.ToString() + "行目が選択されています")
n = n + 1
Next
Console.WriteLine("選択行数:" + n.ToString() )
End Sub
Private Sub button3_Click(sender As Object, e As EventArgs) Handles button3.Click
' 指定した行の選択
C1FlexGrid1.Rows(5).Selected = True
End Sub
End Class
◎サンプルコード(C#)using C1.Win.C1FlexGrid;
namespace prj_C1FlexGrid
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
c1FlexGrid1.SelectionMode = SelectionModeEnum.ListBox;
}
private void button1_Click(object sender, EventArgs e)
{
// 選択行の取得(1)
for (int i = c1FlexGrid1.Rows.Fixed; i < c1FlexGrid1.Rows.Count; i++)
{
if (c1FlexGrid1.Rows[i].Selected == true)
{
Console.WriteLine(i + "行目が選択されています");
}
}
Console.WriteLine("選択行数:" + c1FlexGrid1.Rows.Selected.Count);
}
private void button2_Click(object sender, EventArgs e)
{
// 選択行の取得(2)
int n = 0;
foreach (Row r in c1FlexGrid1.Rows.Selected)
{
Console.WriteLine(r.Index + "行目が選択されています");
n = n + 1;
}
Console.WriteLine("選択行数:" + n);
}
private void button3_Click(object sender, EventArgs e)
{
// 指定した行の選択
c1FlexGrid1.Rows[5].Selected = true;
}
}
}
更新履歴
・2022/07/13 タイトルの変更
関連情報
旧文書番号
86256