Spread基本知识(一)

Spread基本知识(一)

1 取得当前行号、列号。
 

int row=e.Row;
int count=e.Count;
或者:
int rowindex = fpSpread1.ActiveSheet.ActiveRowIndex;
int columnindex = fpSpread1.ActiveSheet.ActiveColumnIndex;

2 单击一行变颜色。 

private void spdResult_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
  {
   //单击Spread列头时,什么也不处理

   if(!e.ColumnHeader)
   {
    if(spdResult.Sheets[0].Rows.Count!=0)
    {
     for(int i=0;i<spdResult.Sheets[0].Rows.Count;i++)
     {
      spdResult.Sheets[0].Rows[i].BackColor=System.Drawing.Color.White;
     }
     int row=e.Row;
     spdResult.Sheets[0].Rows[row].BackColor=System.Drawing.Color.FromArgb(((System.Byte)(192)), ((System.Byte)(255)), ((System.Byte)(255)));
    }
   }
  }

3 将Spread的单元格内容付值给一控件的Text

txtItemCD.Text = spdResult.Sheets[0].Cells[row,count].Text;

4 给Spread的指定单元格付值。

spdResult.Sheets[0].Cells[row,count].Text = txtItemCD.Text;

5 通过上下光标键改变选中行颜色

private void spdResult_LeaveCell(object sender, FarPoint.Win.Spread.LeaveCellEventArgs e)
  {
   //首先检查spread行数是否为0
   if(spdResult.Sheets[0].Rows.Count==0)
   {
    return;
   }
   else
   {
    for(int i=0;i<spdResult.Sheets[0].Rows.Count;i++)
    {
     spdResult.Sheets[0].Rows[i].BackColor=System.Drawing.Color.White;
    }
    int row=e.NewRow;
    spdResult.Sheets[0].Rows[row].BackColor=System.Drawing.Color.FromArgb(((System.Byte)(192)), ((System.Byte)(255)), ((System.Byte)(255)));
   }
  }

6 下拉列表加载数据(ComBobox) 
・ 列表追加(适合于数据量少的情况)

FarPoint.Win.Spread.CellType.ComboBoxCellType cb4 = new FarPoint.Win.Spread.CellType.ComboBoxCellType();
   cb4.ListWidth = 96;
   cb4.Editable = true;
   cb4.MaxDrop = 10;
   cb4.MaxLength = 1;
   string[] priceTagList = new string[]{" 0 无"," 1 有"};
   cb4.Items = priceTagList;
   this.spdSetList.ActiveSheet.Columns[4].CellType = cb4;

・ 从数据库追加

FarPoint.Win.Spread.CellType.ComboBoxCellType cb12 = new FarPoint.Win.Spread.CellType.ComboBoxCellType();
   cb12.ListWidth = 150;
   cb12.Editable = true;
   cb12.MaxDrop = 10;
   cb12.MaxLength = 8;

//dsEmployee:数据集Dataset,已经加载好数据的Dataset
   string[] employeeList = DataSetToArray(dsEmployee, 8);
   cb12.Items = employeeList;
   this.spdSetList.ActiveSheet.Columns[12].CellType = cb12;

private string[] DataSetToArray(DataSet ds, int BlankNum)
  {
   int i = 0;
   int NumLength = 0;
   string[] returnArray = new string[ds.Tables[0].Rows.Count];

   DataRow foundRows = ds.Tables[0].Rows[ds.Tables[0].Rows.Count -1];
   NumLength = foundRows[0].ToString().Length;

   foreach(DataRow dr in ds.Tables[0].Rows)
   {
    returnArray[i] = dr[0].ToString().PadLeft(BlankNum, ' ') + " " + dr[1].ToString();
    i++;
   }
   return returnArray;
  }

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值