|
…… <asp:GridView ID="GridView1" runat="server" DataSourceID="ObjectDataSource1" AutoGenerateColumns="False" AllowPaging="True" AllowSorting="True" DataKeyNames="AlbumID"> <Columns> <asp:CommandField ShowEditButton="True" /> <asp:BoundField ReadOnly="True" HeaderText="AlbumID" DataField="AlbumID" SortExpression="AlbumID" /> <asp:TemplateField HeaderText="AlbumName" SortExpression="AlbumName" ItemStyle-Wrap="false"> <ItemTemplate> <asp:Label ID="Label1" runat="server" Text='<%# Eval("AlbumName") %>'></asp:Label> </ItemTemplate> <EditItemTemplate> <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("AlbumName") %>'></asp:TextBox> <asp:RequiredFieldValidator ControlToValidate="TextBox1" ErrorMessage="AlbumName cannot be empty" ID="RequiredFieldValidator1" Display="Dynamic" runat="server">*</asp:RequiredFieldValidator> </EditItemTemplate> </asp:TemplateField> …… </asp:GridView><br /> <asp:ValidationSummary ID="ValidationSummary1" runat="server" /> <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" ConvertNullToDBNull="true" TypeName="DataComponentTableAdapters.AlbumsTableAdapter" SelectMethod="GetAlbumsByOwner" UpdateMethod="Update" OldValuesParameterFormatString="original_{0}"> …… </asp:ObjectDataSource>
TemplateField的另外一种用途是定制给GridView或DetailsView列/字段输入值的控件。例如,你可以在TemplateField的EditItemTemplate中放置一个DropDownList,允许用户从预定义的值列表中选择。下面的例子演示了这种技术。请注意,示例中的下拉列表绑定到了自己的数据源控件,以动态地获取列表值。
<asp:TemplateField HeaderText="Owner" SortExpression="Owner"> <ItemTemplate> <asp:Label ID="Label2" runat="server" Text='<%# Eval("Owner") %>'></asp:Label> </ItemTemplate> <EditItemTemplate> <asp:DropDownList DataSourceID="ObjectDataSource2" DataTextField="Owner" DataValueField="Owner" ID="DropDownList2" runat="server" SelectedValue='<%# Bind("Owner") %>'> </asp:DropDownList> </EditItemTemplate> <ItemStyle Wrap="False" /> </asp:TemplateField>
上一页 [1] [2] [3] [4] |