vb的mshflexgrid控件使用问题
来源:百度知道 编辑:UC知道 时间:2024/05/14 11:30:36
现在的问题是,首先点击添加,然后定位到表格最后一行,点击删除。再次点击添加,会发现表格并没有添加一行。这是为什么?
首先感谢你的回答。
我没有帮定数据在msh中,因为我在编程中遇到类似这样的问题,现在我是把问题简化了。
我这儿的运行结果是,当第一次点击“添加”按钮时,正常,然后再点击“删除”一行,正常。当回过头再点击一次“添加”时,发现并没有添加,如果继续按第二次,才有了反应。希望你再帮我看看。
我测试你的2行代码,添加和删除功能都正常,你有没有绑定数据在MSH表中呢?
看看MSDN中是怎么说的:
AddItem 方法 (MSHFlexGrid)
该方法将一个行添加到 MSHFlexGrid 控件中。不支持命名参数。
语法
object.AddItem (string, index, number)
AddItem 方法的语法包含以下部分:
部分 描述
object 对象表达式,其值是“应用于”列表中的对象。
item 字符串必需的。字符串表达式,它在新增行中显示。可以用制表符 (vbTab) 来分隔每个字符串,从而将多个字符串(行中的多个列)添加进去。
Index 可选的。Long 类型,它代表了控件中放置新增行的位置。对于第一行来说,index = 0。如果省略 index,那么新增行将成为带区中的最后一行。注意 index 是 MSHFlexGrid 中的 BandColIndex。
number 可选的。Long 值,指出添加行的带区号。
说明如果 MSHFlexGrid 不包含带区(即它被绑定到一个非层次结构类型的 Recordset),那么 BandNumber 参数将是可选的。即使指定了它的值,指定值也必须为 0。如果 BandDisplay 属性被设置为水平的,而 MSHFlexGrid 被绑定到一个分层结构的 Recordset,则 BandNumber 参数将是必需的。如果 BandDisplay 属性被设置为垂直的,那么只有当带区有二义性的时候 BandNumber 参数才是必要的。index 参数永远是可选的。
=======================
注意那个index值,如果省略 index,那么新增行将成为带区中的最后一行。
而后面的说明,
MSHFlexGrid 不包含带区(即它被绑定到一个非层次结构类型的 Recordset)