使用 ASP+ DataGrid 控件来创建主视图/详细资料视图__教程 |
|
日期:2007-5-20 1:22:40 人气:159 [大 中 小] |
|
|
|
<asp:BoundColumn HeaderText="Title" DataField="title" ReadOnly="true"> <property name="HeaderStyle"> <asp:TableItemStyle Width="250px"/> </property> </asp:BoundColumn> <asp:BoundColumn HeaderText="Published" DataField="pubdate" DataFormatString="{0:MMM yyyy}" ReadOnly="true"> <property name="HeaderStyle"> <asp:TableItemStyle Width="100px"/> </property> </asp:BoundColumn> <asp:BoundColumn HeaderText="Price" DataField="price" DataFormatString="{0:c}"> <property name="HeaderStyle"> <asp:TableItemStyle Width="50px"/> </property> <property name="ItemStyle"> <asp:TableItemStyle HorizontalAlign="Right"/> </property> </asp:BoundColumn> <asp:EditCommandColumn EditText="Edit" CancelText="Cancel" UpdateText="OK"/> </property>
... </asp:DataGrid>
通过处理控件的 EditCommand、 UpdateCommand 和 CancelCommand 事件来达到在 DataGrid 内进行编辑的目的。
Columns 集合包含一个名为 EditCommandColumn 的新的列。该列自动创建每行右侧的按钮集。为只读模式中的各行创建 Edit 按钮,并为编辑模式中的各行创建 Update 和 Cancel 按钮。列的 EditText、 CancelText 和 UpdateText 属性用来指定按钮的文本。注意,也可以将文本设定为 HTML 标记,从而为这些按钮使用图象。
最后,各种列的 ReadOnly<./font> 属性被设定为 true。这就防止对这些列中的数据进行编辑,即使列处于编辑模式。对于本样例,只有价格字段是可编辑的,因而所有其它 BoundColumns 均被标注为只读。
上面声明的事件处理器在下面展示的有代码支持的类中得到实施。
Step6Page.cs:
namespace Samples { ...
public class Step6Page : Page {
// 更新当前选定的作者并重新加载与选定内容对应的书名 // 网格 protected void LoadTitlesGrid() { UpdateSelection(); titlesGrid.DataBind(); }
// 处理书名网格中的 CancelCommand 事件,以 // 不施用更改就结束编辑 protected void OnCancelCommandTitlesGrid(object sender, DataGridCommandEv
|
|
出处:本站原创 作者:佚名 |
|
|