作成日: 2019/01/23 最終更新日: 2019/01/23
文書種別
使用方法
詳細
列のインデックス番号は見かけ上の列の位置になるため、列を移動した場合には変更されてしまいます。
列の移動によって変化しない値として列のTagプロパティがありますので、これにユニークな値を設定し、それを使って目的の列の現在のインデックス番号を取得することができます。
◎サンプルコード(VB)
◎サンプルコード(C#)
列の移動によって変化しない値として列のTagプロパティがありますので、これにユニークな値を設定し、それを使って目的の列の現在のインデックス番号を取得することができます。
◎サンプルコード(VB)
Enum ColsEnm
A
B
C
D
E
End Enum
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' 列移動の許可
FpSpread1.AllowColumnMove = True
' 列数と行数の設定
FpSpread1.ActiveSheet.ColumnCount = 5
FpSpread1.ActiveSheet.RowCount = 5
' 列のキャプションとTagの設定
For i As Integer = 0 To FpSpread1.ActiveSheet.ColumnCount - 1
FpSpread1.ActiveSheet.ColumnHeader.Columns(i).Label = String.Format("列{0}", i + 1)
FpSpread1.ActiveSheet.Columns(i).Tag = DirectCast(i, ColsEnm)
Next
' 値の設定
For i As Integer = 0 To FpSpread1.ActiveSheet.RowCount - 1
For j As Integer = 0 To FpSpread1.ActiveSheet.ColumnCount - 1
FpSpread1.ActiveSheet.SetValue(i, j, String.Format("R{0}C{1}", i, j))
Next
Next
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
' 初期表示のインデックスでセルの値を取得
Dim row As Integer = 1
Dim col As ColsEnm = ColsEnm.B
Dim colIndex As Integer = FpSpread1.ActiveSheet.GetColumnFromTag(Nothing, col).Index
MessageBox.Show(String.Format("value={0}", FpSpread1.ActiveSheet.Cells(row, colIndex).Value))
End Sub
A
B
C
D
E
End Enum
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' 列移動の許可
FpSpread1.AllowColumnMove = True
' 列数と行数の設定
FpSpread1.ActiveSheet.ColumnCount = 5
FpSpread1.ActiveSheet.RowCount = 5
' 列のキャプションとTagの設定
For i As Integer = 0 To FpSpread1.ActiveSheet.ColumnCount - 1
FpSpread1.ActiveSheet.ColumnHeader.Columns(i).Label = String.Format("列{0}", i + 1)
FpSpread1.ActiveSheet.Columns(i).Tag = DirectCast(i, ColsEnm)
Next
' 値の設定
For i As Integer = 0 To FpSpread1.ActiveSheet.RowCount - 1
For j As Integer = 0 To FpSpread1.ActiveSheet.ColumnCount - 1
FpSpread1.ActiveSheet.SetValue(i, j, String.Format("R{0}C{1}", i, j))
Next
Next
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
' 初期表示のインデックスでセルの値を取得
Dim row As Integer = 1
Dim col As ColsEnm = ColsEnm.B
Dim colIndex As Integer = FpSpread1.ActiveSheet.GetColumnFromTag(Nothing, col).Index
MessageBox.Show(String.Format("value={0}", FpSpread1.ActiveSheet.Cells(row, colIndex).Value))
End Sub
◎サンプルコード(C#)
enum ColsEnm
{
A,B,C,D,E
}
private void Form1_Load(object sender, EventArgs e)
{
// 列移動の許可
fpSpread1.AllowColumnMove = true;
// 列数と行数の設定
fpSpread1.ActiveSheet.ColumnCount = 5;
fpSpread1.ActiveSheet.RowCount = 5;
// 列のキャプションとTagの設定
for(int i = 0; i < fpSpread1.ActiveSheet.ColumnCount; i++)
{
fpSpread1.ActiveSheet.ColumnHeader.Columns[i].Label = String.Format("列{0}", i + 1);
fpSpread1.ActiveSheet.Columns[i].Tag = (ColsEnm)i;
}
// 値の設定
for(int i = 0; i < fpSpread1.ActiveSheet.RowCount; i++)
{
for (int j = 0; j < fpSpread1.ActiveSheet.ColumnCount; j++)
{
fpSpread1.ActiveSheet.SetValue(i, j, String.Format("R{0}C{1}", i, j));
}
}
}
private void button1_Click(object sender, EventArgs e)
{
// 初期表示のインデックスでセルの値を取得
int row = 1;
ColsEnm col = ColsEnm.B;
int colIndex = fpSpread1.ActiveSheet.GetColumnFromTag(null, col).Index;
MessageBox.Show(String.Format("value={0}", fpSpread1.ActiveSheet.Cells[row, colIndex].Value));
}
{
A,B,C,D,E
}
private void Form1_Load(object sender, EventArgs e)
{
// 列移動の許可
fpSpread1.AllowColumnMove = true;
// 列数と行数の設定
fpSpread1.ActiveSheet.ColumnCount = 5;
fpSpread1.ActiveSheet.RowCount = 5;
// 列のキャプションとTagの設定
for(int i = 0; i < fpSpread1.ActiveSheet.ColumnCount; i++)
{
fpSpread1.ActiveSheet.ColumnHeader.Columns[i].Label = String.Format("列{0}", i + 1);
fpSpread1.ActiveSheet.Columns[i].Tag = (ColsEnm)i;
}
// 値の設定
for(int i = 0; i < fpSpread1.ActiveSheet.RowCount; i++)
{
for (int j = 0; j < fpSpread1.ActiveSheet.ColumnCount; j++)
{
fpSpread1.ActiveSheet.SetValue(i, j, String.Format("R{0}C{1}", i, j));
}
}
}
private void button1_Click(object sender, EventArgs e)
{
// 初期表示のインデックスでセルの値を取得
int row = 1;
ColsEnm col = ColsEnm.B;
int colIndex = fpSpread1.ActiveSheet.GetColumnFromTag(null, col).Index;
MessageBox.Show(String.Format("value={0}", fpSpread1.ActiveSheet.Cells[row, colIndex].Value));
}
旧文書番号
83552