如何避免 gridview 的编辑模式?
How to avoid the edit mode on a gridview?
我在 SO 中搜索了答案,但找不到。
我有一个这样的网格视图:
<asp:GridView ID="gdvSubEventos" AutoGenerateColumns="False" runat="server">
<Columns>
<asp:BoundField HeaderText="Descrição" DataField="Descricao">
</asp:BoundField>
<asp:BoundField HeaderText="Data" DataField="data" DataFormatString="{0:dd/MM/yyyy}">
</asp:BoundField>
<asp:CommandField HeaderText="Opção" EditText="Editar" ShowEditButton="true">
</asp:CommandField>
</Columns>
</asp:GridView>
如果用户点击编辑,将打开另一个表单(在同一页面的网格上方)进行编辑。
问题是:当用户第一次点击编辑按钮时,一切正常。但如果他再次点击编辑按钮,在第一次编辑回发后,gridview 中的行变为可编辑。
我怎样才能始终避免在 gridviews 上进入编辑模式?
如果您使用命令字段中提供的按钮,您将触发 gridview 的编辑功能,并且 gridview 期望您将使用嵌入式编辑。无需深入了解太多细节,您只需在 RowEditEvent 的底部设置 gdvSubEventos.EditIndex = -1
这将使 gridview 退出编辑模式。
为了完全避免 gridview 进入编辑模式 - 然后在命令字段中禁用编辑
添加一个编辑按钮以显示您自己的表单:
- 添加一个
<asp:ButtonField>
到列列表
- 将其转换为模板字段。
在 GridView RowDataBound 事件中
- 找到按钮控件
- 将其 CommandName 分配给 "MyEdit"
- 为它的 CommandArgument 分配行索引,以便您知道select编辑了哪一行。
当你select这个按钮时,它会触发按钮的 CommandEvent,而不是 GridView,所以你需要行索引引用来从 Gridview 中获取你需要的数据来填充你的字段。
我在 SO 中搜索了答案,但找不到。
我有一个这样的网格视图:
<asp:GridView ID="gdvSubEventos" AutoGenerateColumns="False" runat="server">
<Columns>
<asp:BoundField HeaderText="Descrição" DataField="Descricao">
</asp:BoundField>
<asp:BoundField HeaderText="Data" DataField="data" DataFormatString="{0:dd/MM/yyyy}">
</asp:BoundField>
<asp:CommandField HeaderText="Opção" EditText="Editar" ShowEditButton="true">
</asp:CommandField>
</Columns>
</asp:GridView>
如果用户点击编辑,将打开另一个表单(在同一页面的网格上方)进行编辑。
问题是:当用户第一次点击编辑按钮时,一切正常。但如果他再次点击编辑按钮,在第一次编辑回发后,gridview 中的行变为可编辑。
我怎样才能始终避免在 gridviews 上进入编辑模式?
如果您使用命令字段中提供的按钮,您将触发 gridview 的编辑功能,并且 gridview 期望您将使用嵌入式编辑。无需深入了解太多细节,您只需在 RowEditEvent 的底部设置 gdvSubEventos.EditIndex = -1
这将使 gridview 退出编辑模式。
为了完全避免 gridview 进入编辑模式 - 然后在命令字段中禁用编辑 添加一个编辑按钮以显示您自己的表单:
- 添加一个
<asp:ButtonField>
到列列表 - 将其转换为模板字段。
在 GridView RowDataBound 事件中
- 找到按钮控件
- 将其 CommandName 分配给 "MyEdit"
- 为它的 CommandArgument 分配行索引,以便您知道select编辑了哪一行。
当你select这个按钮时,它会触发按钮的 CommandEvent,而不是 GridView,所以你需要行索引引用来从 Gridview 中获取你需要的数据来填充你的字段。