private void Worksheet_CellDataChanged(object sender, Events.CellEventArgs e) { if (inUpdate) { return; } var pos = e.Cell.Position; inUpdate = true; // チェックボックスの位置を確認 if (pos.Col == 0) { // 全て選択のチェックボックスの位置を確認 if (pos.Row == 0) { // チェックボックスのステータスを取得 bool checkboxChecked = e.Cell.GetData <bool>(); // 最初の行から最後の行まで、すべての行を選択 for (int r = 1; r < 16; r++) { SelectRow(r, checkboxChecked); } } else { // 該当行のみを選択 SelectRow(pos.Row, e.Cell.GetData <bool>()); } } inUpdate = false; }
private void Worksheet_CellDataChanged(object sender, Events.CellEventArgs e) { if (inUpdate) { return; } var pos = e.Cell.Position; inUpdate = true; // all checkbox at first column if (pos.Col == 0) { // select all checkbox at first row if (pos.Row == 0) { bool checkboxChecked = e.Cell.GetData <bool>(); for (int r = 1; r < 16; r++) { SelectRow(r, checkboxChecked); } } else { SelectRow(pos.Row, e.Cell.GetData <bool>()); } } inUpdate = false; }
void worksheet_CellDataChanged(object sender, Events.CellEventArgs e) { var pos = e.Cell.Position; if (dataRange.Contains(pos) || this.LabelAddress == pos) { this.dataSource.OnDataChanged(); } }