使用的是GrapeCity SPREAD for Windows Forms 12.0J
表中数据是通过database导入到表格中的,如果database中数据为o的情况下,想在sheetview中添加开始行,应该如何添加。
写了一些代码,但是这些代码只能应用于database中有数据的情况下。
sheetview运行时,表格行为0的情况下,点击添加按钮,会显示 {索引在数组边界之外}这句话。
求帮助,谢谢。
private void BtnNew_Click(object sender, EventArgs e)
{
var rowIdx = spreadCodeMaster_Sheet1.Rows.Count;
spreadCodeMaster_Sheet1.AddUnboundRows(rowIdx, 1);
spreadCodeMaster_Sheet1.AddRowToDataSource(rowIdx, true);
//添加开始行时,这里会显示索引在数组边界之外
nrc++;
chooselist.Add(0);
r = spreadCodeMaster.ActiveSheet.Rows[rowIdx, rowIdx];
r.Locked = false;
if (spreadCodeMaster_Sheet1.Rows.Count == 1)
{
for (int j = 0; j < spreadCodeMaster_Sheet1.Columns.Count; j++)
{
spreadCodeMaster.ActiveSheet.ColumnHeader.Rows[1].Visible = true;
}
btnSave.Enabled = true;
btnDel.Enabled = true;
btnEditor.Enabled = true;
btnExcel.Enabled = true;
}
for (int j = 0; j < spreadCodeMaster_Sheet1.Columns.Count; j++)
{
var type = Convert.ToString(spreadCodeMaster_Sheet1.GetCellType(rowIdx, j));
if (type != "CheckBoxCellType")
{
spreadCodeMaster.ActiveSheet.SetActiveCell(rowIdx, j);
return;
}
}
}
之前有添加过 spreadCodeMaster.ActiveSheet.AddUnboundRows(0, 1);
spreadCodeMaster.ActiveSheet.AddRows(1, 1);
还是出现了同样的问题。
也有往数据库中直接添加空行dt.NewRow(),也没有成功。
希望大神可以指点一下,谢谢