以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何便历某一行中所有单元格的内容?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=9736)

--  作者:curt
--  发布时间:2011/5/5 18:33:00
--  如何便历某一行中所有单元格的内容?

我用datatable的find方法找到符合条件的某一行,如何便历这一行中的所有单元格的内容呢?

 

比如根据条件我找到了第3行

      第一列  第二列  第三列 

 

 

3       a          b        c

 

我怎么才能用代码便历这一行的所有内容,不是说要人工输入如:dr("第一列"),dr("第二列")...这样

 

在excel里有单元格偏移offset的方法可以做到,不知道foxtable里该用哪个方法?


--  作者:狐狸爸爸
--  发布时间:2011/5/5 18:38:00
--  

遍历某行所有列:

 

For Each cl As Col In Tables("XXX").Cols

     Output.Show(dr(cl.Name))

Next


--  作者:blackzhu
--  发布时间:2011/5/5 19:16:00
--  
 

If e.DataRow("数量") < 1000 Andalso e.DataRow("折扣") > 0.15 Then \'判断是否不符合验证要求
    MessageBox.Show(
"数量低于1000的订单,折扣不能超过0.15","存盘失败",MessageBoxButtons.OK,MessageBoxIcon.Exclamation) \'提示用户
   
Dim Index As Integer
    Index =
Tables("订单").FindRow(e.DataRow) \'找出此行在销售数据Table中的位置
   
If Index > -1 Then \'如果找到此行
   
    Tables("订单").Position = Index \'将焦点定位到此行
   
End If
    Maintable
= Tables("订单") \'选择销售数据表作为主表。
    e.Cancel =
True \'取消存盘
End
If


--  作者:blackzhu
--  发布时间:2011/5/5 19:16:00
--  

举例而已


--  作者:curt
--  发布时间:2011/5/6 0:23:00
--  

原来是通过遍历所有列的名字来获得该行所有内容。非常感谢。不过要用代码精确操作其内容还只有传到数组里进行。

个人感觉foxtable毕竟是数据库,不能像excel表格一样能方便的对单元格进行操作。当然也可能是我excel用多了,思维习惯还没转换过来。


--  作者:狐狸爸爸
--  发布时间:2011/5/6 7:31:00
--  

呵呵,随着学习的深入,你会发现foxtable在处理数据方面,对excel有着巨大的优势。

复杂表格的制作也不差,因为foxtable的excel报表直接利用excel来生成报表,踩着巨人肩膀前进。