回复 6楼victorysoft的帖子
解决方法如下:
- private void Form1_Load(object sender, EventArgs e)
- {
- DataTable dt = new DataTable();
- dt.Columns.Add("第一列");
- dt.Columns.Add("第二列");
- dt.Columns.Add("第三列");
- dt.Rows.Add("一", "二", "三");
- dt.Rows.Add("一", "二", "三");
- dt.Rows.Add("一", "二", "三");
- //问题一
- //列表数据绑定
- /**********************************
- * 请问:我如何按列绑定区域,例如spread第1列帮数据源第5列的数值?
- **********************************/
- this.fpSpread1.Sheets[0].AutoGenerateColumns = false;
- this.fpSpread1.DataSource = dt;
- this.fpSpread1.Sheets[0].Columns[0].DataField = dt.Columns[2].Caption;
- //问题二
- /**************************************
- * 请问:我知道数据行DataRow我如何找到spread对应的行?
- **************************************/
- DataTable dt = new DataTable("Testing");
- int i;
- dt.Columns.Add("Number");
- dt.Columns.Add("Letter");
- dt.Rows.Add(new Object[] { "1", "One" });
- dt.Rows.Add(new Object[] { "2", "Two" });
- FarPoint.Win.Spread.Model.DefaultSheetDataModel dataModel = new FarPoint.Win.Spread.Model.DefaultSheetDataModel(dt);
- fpSpread1.ActiveSheet.Models.Data = dataModel;
- i = dataModel.GetModelRowFromDataRow(0);
- //问题三
- /**************************************
- * 请问:我如何进行数据操作的时候是用绑定到spread上的行或单元格而不是对datatable?
- **************************************/
- //可以使用 Spread 区域绑定方法去绑定数据,之后再通过合并单元格操作非绑定区域去模拟该布局。测试代码:
- FarPoint.Win.Spread.Data.SpreadDataBindingAdapter data = new FarPoint.Win.Spread.Data.SpreadDataBindingAdapter();
- data.DataSource = dt;
- data.Spread = fpSpread1;
- data.SheetName = "Sheet1";
- data.MapperInfo = new FarPoint.Win.Spread.Data.MapperInfo(4, 1, 11, 14);
- data.FillSpreadDataByDataSource();
- //问题四
- /*********************************
- * 请问:我数据重新删除或者添加以后,是不是要重新设置绑定区域?
- *********************************/
- //不需要
- //问题五
- /*******************************
- * 请问:删除完了再添加,结果我dattable里面的数据行增加了,但是sheetrows的行数却没有变化.
- *请发 Demo 调试。
-
- //问题六
- * 请问:我使用 sheet.Columns["WZMC"].Index无法定位到我想要的列
- *******************************/
- this.fpSpread1.Sheets[0].ActiveColumnIndex = 2;
- }
复制代码 |