通常在使用Telerik RadGrid 有非常好用的自動生産Edit Form功能。但往往不合實際需要,要自訂Edit Form但官方教學好多時令人難以明白。不過只要在EditFormSettings內自己編寫HTML就可以解決問題。
<telerik:RadGrid ID="RadGrid1" runat="server" Culture="zh-TW" DataSourceID="SqlDataSource1" AutoGenerateEditColumn="True" ShowFooter="True" Skin="Web20" AllowAutomaticDeletes="True" AllowAutomaticInserts="True" AllowAutomaticUpdates="True" OnItemCommand="RadGrid1_ItemCommand">
<MasterTableView AutoGenerateColumns="False" DataKeyNames="hbId" DataSourceID="SqlDataSource1" GridLines="Both" ShowGroupFooter="true" >
<Columns>
<telerik:GridBoundColumn DataField="hbId" DataType="System.Int32" FilterControlAltText="Filter hbId column" HeaderText="編號" ReadOnly="True" SortExpression="hbId" UniqueName="hbId" Aggregate="None" FooterText="總計">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="NameCn" FilterControlAltText="Filter NameCn column" HeaderText="員工姓名" SortExpression="NameCn" UniqueName="NameCn" Aggregate="Count" FooterText="" >
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="ALBalance" DataType="System.Decimal" FilterControlAltText="Filter ALBalance column" HeaderText="年假結餘" SortExpression="ALBalance" UniqueName="ALBalance" Aggregate="Sum" FooterText="總計: " >
</telerik:GridBoundColumn>
</Columns>
<EditFormSettings EditFormType="Template">
<FormTemplate>
<table> //在FormTemplate 內可自行編寫HTML
<tr>
<td style="font-weight:bold;">
<b>內容</b>
</td>
</tr>
<tr>
<td><b>編號: </b></td>
<td> <asp:Label ID="Label1" runat="server" Text='<%# Bind("hbid") %>'></asp:Label>
</td>
</tr>
<tr>
<td><b>部門: </b></td>
<td> <asp:Label ID="TbDeptNameCn" runat="server" Text='<%# Bind("DeptNameCn") %>'></asp:Label>
</td>
</tr>
<tr>
<td><b>姓名: </b></td>
<td><asp:Label ID="TbNameCn" runat="server" Text='<%# Bind("NameCn") %>'></asp:Label></td>
</tr>
<tr>
<td><b>年假結餘: </b></td>
<td>
<asp:TextBox ID="TbALBalance" runat="server" Text='<%# Bind("ALBalance") %>'></asp:TextBox>
</td>
</tr>
<tr>
<td><b>比例年假結餘: </b></td>
<td>
<asp:TextBox ID="TbCLBalance" runat="server" Text='<%# Bind("AALBalance") %>'></asp:TextBox>
</td>
</tr>
<tr>
<td align="right" colspan="2">
<asp:Button ID="btnUpdate" Text='<%# (Container is GridEditFormInsertItem) ? "Insert" : "Update" %>'
runat="server" CommandName='<%# (Container is GridEditFormInsertItem) ? "PerformInsert" : "Update" %>'></asp:Button>
<asp:Button ID="btnCancel" Text="Cancel" runat="server" CausesValidation="False"
CommandName="Cancel"></asp:Button>
</td>
</tr>
</table>
</FormTemplate>
</EditFormSettings>
</MasterTableView>
</telerik:RadGrid>