0

我们有一个用于驱动表单视图的元素列表。通常,结果集介于 5-15 条记录之间。现在在表单视图中,我们有典型的 first/prior/next/last 用于导航。问题是有时用户需要直接转到特定记录来编辑它。这里的记录是工作任务,有一些非常简短的描述。

提出的想法是在表单视图中放置一个网格视图,列出该表单的所有记录,用户只需在该记录上选择视图或编辑,它将直接导航到该记录并将其置于适当的模式。我们也可以把它放在表单视图之外,这并不重要。

问题是,不管驱动力如何,我如何告诉 formview 去记录从外部网格之类的东西驱动的 X。

我知道 formview 有 DataKeyNames 字段,但有没有办法说“去记录谁的 PK 是 17”,因为它在 formview 的当前数据集中?

如果是这样,是否有人有任何示例 C# 代码?我知道我们可以只用一条记录填充现有的表单视图,但我们也希望保留正常的导航按钮,以防万一(有时有数百个工作任务的情况,在这种情况下我们' d 抑制网格视图——听起来不对,但业务案例还有更多内容)。

4

1 回答 1

0

这个简短的解决方案是将网格嵌入 FormView ItemTemplate 并为两者引用相同的数据源。

要使行可编辑,您需要对网格上的 RowDataBound 进行简单的回调,您将在其中检索链接按钮(或您用来触发编辑的任何控件),然后将命令参数设置为 rowindex。之后,您需要为将检索命令参数(再次是行索引)的链接按钮(或触发器)设置回调,然后将 FormView PageIndex 设置为该值,然后将 FormView 的 ChangeMode 设置为 FormViewMode。编辑。

回顾一下,对于只读视图,它是一个包含所有项目的网格,但是在处理编辑或插入时,您会得到传统的表单视图。

于 2013-01-22T18:29:12.983 回答