我们有一个用于驱动表单视图的元素列表。通常,结果集在5-15条记录之间。现在,在表单视图中,我们有典型的第一个/上一个/下一个/最后一个用于导航。问题是有时用户需要直接转到特定记录进行编辑。这里的记录是工作任务,有一些非常简短的描述。
这个想法被建议在gridview中放置一个gridview,列出该表单的所有记录,用户可以只选择查看或编辑该记录,它将直接导航到该记录并将其放入适当的模式。我们也可以将它放在窗体视图之外,这并不重要。
问题是,无论是什么样的力量,如何告诉formview去记录X驱动器,如外部网格。
我知道formview有DataKeyNames字段但有没有办法说“去记录谁的PK是17”,因为它在formview的当前数据集中?
如果是这样,有没有人有任何样本的C#代码?我知道我们可以用一条记录填充现有的formview,但是我们也希望保持正常的导航按钮,在这种情况下(有时候会有数百个工作任务,在这种情况下我们' d压制网格视图 - 听起来不对,但商业案例还有更多内容。)
答案 0 :(得分:0)
这个简短的解决方案是将网格嵌入到FormView ItemTemplate中,并为两者引用相同的数据源。
要使行可编辑,您需要在网格上对RowDataBound进行简单回调,在该网格中您将检索链接按钮(或用于触发编辑的任何控件),然后将命令参数设置为rowindex。之后,您需要获取将检索命令参数(再次是行索引)的链接按钮(或触发器)的回调,然后将FormView PageIndex设置为该值,然后将FormView的ChangeMode设置为FormViewMode。编辑。
所以回顾一下,对于只读视图,它是一个包含所有项目的网格,但在处理编辑或插入时,您将获得传统的表单视图。