SPREAD for ASP.NET にて、CheckBoxCellType を設定して取得する方法。 セルの値を取得する前に明示的にFpSpread.SaveChanges()を呼ぶ必要がある。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using FarPoint.Web.Spread;
namespace WebApplication1
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
var sheet = spd.ActiveSheetView;
sheet.ColumnCount = 2;
sheet.RowCount = 5;
for (var i = 0; i < sheet.RowCount; i++)
{
var cellType = new CheckBoxCellType();
cellType.AutoPostBack = false;
sheet.Cells[i, 0].CellType = cellType;
sheet.Cells[i, 0].Value = 0;
}
}
}
protected void btn1_Click(object sender, EventArgs e)
{
// チェックボックスの値を取得する前に明示的にSaveChangesを呼ばないと駄目。
// これを実行しないと、セルの値が常にnullになる。
spd.SaveChanges();
var sheet = spd.ActiveSheetView;
for (var i = 0; i < sheet.RowCount; i++)
{
// チェックされていたら1, チェック無しの場合は0となる
lst1.Items.Add(sheet.Cells[i, 0].Value.ToString());
}
}
}
}