找回密码
 立即注册

QQ登录

只需一步,快速开始

lud
论坛元老   /  发表于:2012-2-18 13:35  /   查看:5368  /  回复:4
我想根据某一字符值获取其在Spread的行号位置,不想用循环,并且我传的字符串一个Spread的sheet里是唯一的

4 个回复

倒序浏览
jplzj
论坛元老   /  发表于:2012-2-18 13:40:00
沙发
用Search方法即可参见SpreadWinDemo中search
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-2-20 10:34:00
板凳

回复 1# lud 的帖子

lud 你好,
可以结合 SearchWithDialogAdvanced 结合 SearchDialogClosing 事件来实现,测试代码:
  1.         private void Form1_Load(object sender, EventArgs e)
  2.         {
  3.             this.fpSpread1.Sheets[0].ColumnCount = 10;
  4.             this.fpSpread1.Sheets[0].RowCount = 11;
  5.             for (int i = 0; i < 10; i++)
  6.             {
  7.                 for (int j = 0; j < 10; j++)
  8.                 {
  9.                     this.fpSpread1.Sheets[0].Cells[i, j].Text = "1";
  10.                 }
  11.             }
  12.             this.fpSpread1.Sheets[0].Cells[9, 9].Text = "test";
  13.         }
  14.         private void button1_Click(object sender, EventArgs e)
  15.         {
  16.             this.fpSpread1.SearchWithDialogAdvanced("test");
  17.         }
  18.         private void fpSpread1_SearchDialogClosing(object sender, CancelEventArgs e)
  19.         {
  20.             int row = this.fpSpread1.Sheets[0].ActiveRow.Index;
  21.         }
复制代码
回复 使用道具 举报
lud
论坛元老   /  发表于:2012-2-20 11:43:00
地板
谢谢版主的回复,我在根据一个sheet 的的内容值获取在另外一个sheet里所在的行,是在后台获取的,用不到事件
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-2-20 12:12:00
5#
lud 你好,
使用后台代码可以使用 SpreadView  下 Search() 方法,其中参数 ref row 、ref col 保存搜索结果的行列索引,参考代码:
  1.         private void Form1_Load(object sender, EventArgs e)
  2.         {
  3.             int row = 0;
  4.             int col = 0;
  5.             this.fpSpread1.Sheets[0].ColumnCount = 10;
  6.             this.fpSpread1.Sheets[0].RowCount = 11;
  7.             for (int i = 0; i < 10; i++)
  8.             {
  9.                 for (int j = 0; j < 10; j++)
  10.                 {
  11.                     this.fpSpread1.Sheets[0].Cells[i, j].Text = "1";
  12.                 }
  13.             }
  14.             this.fpSpread1.Sheets[0].Cells[9, 9].Text = "test";
  15.             this.fpSpread1.Search(0, "test", false, false, false, false, 0, 0, 9, 9,ref row,ref col);
  16.             int rowindex = row;
  17.         }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部