以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- 怎么批量动态增加控件? (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=28825) |
||||
-- 作者:xvkewen -- 发布时间:2013/2/19 23:15:00 -- 怎么批量动态增加控件? 各位大侠们,小白弱弱的问一下,现有以下思路,但实在不知道怎么做,现在做了个例子,要具备以下4点功能,哪位大侠能指导一下? 1、点后面“继续添加”的按钮,自动向下增加一组和上一行一样的控件,同时在表中新增一行 。 2、“继续添加”的按钮随着新增的控件组继续下移,点一次增加加一组,以此类推; 3、在新增的一组控件中录入的数据,会自动添加到表的新增行中;
4、保存按钮要与最后一组控件始终保持固定的距离; ![]() ![]() |
||||
-- 作者:有点甜 -- 发布时间:2013/2/19 23:26:00 -- 我觉得直接在表中输入,增加行就行,你这样做,没有什么设计意义吧
|
||||
-- 作者:程兴刚 -- 发布时间:2013/2/19 23:44:00 -- 把控件绑定到对应的列不就可以了?为什么要两行控件? |
||||
-- 作者:xvkewen -- 发布时间:2013/2/20 0:24:00 -- 其实2楼的说的也是个方法,只是我这个是先录入订单基本信息,保存后自动转到这个窗口录入订单的用料信息,用料有多种不同的物料,想用这种动态控件方法来做,不知道能不能实现?程版主请多指教呀 |
||||
-- 作者:程兴刚 -- 发布时间:2013/2/20 1:42:00 -- 确实需要的话,帮您解决了动态添加控件的问题,其他需要您自己先练习一下再说:
|
||||
-- 作者:程兴刚 -- 发布时间:2013/2/20 1:43:00 -- 您甚至可以无休止地添加下去,练习动态添加控件一定要注意寻找规律! |
||||
-- 作者:lsy -- 发布时间:2013/2/20 9:38:00 -- 程版主的,不错,收藏! |
||||
-- 作者:xvkewen -- 发布时间:2013/2/20 12:49:00 -- 程版主,以下的粉字字体是有关控件命名,不过我看不太懂,尤其是 e.Form.Controls("Panel_面板").Height\\26这段是什么意思呀?
tbx= e.Form.CreateControl("TextBox_" & Values(Index) & e.Form.Controls("Panel_面板").Height\\26, ControlTypeEnum.TextBox) |
||||
-- 作者:程兴刚 -- 发布时间:2013/2/20 13:38:00 -- 面板高度整除26
您的控件高度21,为您的控件指定了间距5,所以是26 面板初始高度31,上下各5,每添加一排,面板高加26 那里之所以整除,是为了给您的控件加上序号,让您可以无休止地添加! 不过这个方案并非完美无缺,要真正完美无缺还需稍加更改,您先调试,发现问题再说。 [此贴子已经被作者于2013-2-20 20:03:11编辑过]
|
||||
-- 作者:xvkewen -- 发布时间:2013/2/21 13:03:00 -- 谢谢程版的解答,我理解了;但在后续调试中仍有以下问题,需要再次麻烦你了;
1、我给动态增加的控件设置了绑定字段,其他控件设置都成功,但唯独只有新增“部位名称”那个控件绑定不成功,为什么?怎么改? 2、在点“继续添加”按钮后,之前控件填定的数据全部被清空了,为什么?怎么才能不清空之前的数据呢? 3、在刚新增的一组控件里输入数据后,为什么之前对应列控件值全部变成刚刚输入的数据呢?怎么才能保持原来表单里的数据不变呢?
|