Files
sryang 10f73526bc feat: fmBprj GridView 改用 ObjectDataSource
- BprjDAC 新增 SelectPage/SelectCount/SelectBPRJIndex(LAST_YEAR 排序)

- dsBPRJGrid 改 ObjectDataSource;Search/Selected/DataBound 調整
2026-09-10 10:42:20 +08:00

874 lines
53 KiB
Plaintext

<!--
******************************************************************************
* 程式名稱:fmBprj 客戶專案處理畫面
* 作 者:楊樹人
* 日 期:2007/12/06
******************************************************************************
-->
<%@ Control Language="C#" AutoEventWireup="true"
CodeFile="fmBprj.ascx.cs" Inherits="forms_customer_fmBprj" %>
<%@ Register Assembly="WNET" Namespace="Wellan.Web.UI"
TagPrefix="cc1" %>
<cc1:WLabel ID="WLabel1" runat="server" CssClass="pageTitle"
TextMessageId="FMBPRJ.NAME"></cc1:WLabel>
<asp:CustomValidator ID="cvMessage" runat="server"
Display="None"></asp:CustomValidator>
<asp:MultiView ID="MultiView1" runat="server"
ActiveViewIndex="1" OnActiveViewChanged="MultiView1_ActiveViewChanged">
<asp:View ID="SearchView" runat="server">
<cc1:WButton ID="btnSearch" runat="server"
TextMessageId="F.+SEARCH" CssClass="button"
OnClick="btnSearch_Click" Text="F.查詢" AccessKey="F" />
<cc1:WButton ID="btnInsert" runat="server"
AccessKey="I" TextMessageId="I.+INSERT"
CssClass="button" Text="I.新增" OnClick="btnInsert_Click" />
<cc1:WButton ID="btnCancel" runat="server"
TextMessageId="C.+CANCEL" CssClass="button"
OnClick="btnCancel_Click" Text="C.取消" AccessKey="C" />
<table>
<tr>
<td colspan="1" style="height: 0px; width: 100px"></td>
<td colspan="1" style="height: 0px; width: 110px"></td>
</tr>
<tr>
<td style="text-align: right">
<cc1:WLabel ID="lbBPPNM" runat="server" TextMessageId="BPRJ.BPPNM+:"></cc1:WLabel></td>
<td>
<asp:TextBox ID="txtBPPNM" runat="server"
CssClass="textInput"></asp:TextBox>
</td>
</tr>
<tr>
<td style="text-align: right">
<cc1:WLabel ID="lbBPPME" runat="server" TextMessageId="BPRJ.BPPME+:"></cc1:WLabel></td>
<td>
<asp:TextBox ID="txtBPPME" runat="server"
CssClass="textInput"></asp:TextBox>
</td>
</tr>
<tr>
<td style="text-align: right">
<cc1:WLabel ID="lbBPNUM" runat="server" TextMessageId="BCUS.BCNUM+:"></cc1:WLabel></td>
<td>
<asp:TextBox ID="txtBPNUM" runat="server"
CssClass="textInput"></asp:TextBox>
</td>
</tr>
</table>
</asp:View>
<asp:View ID="EditView" runat="server">
<asp:ObjectDataSource ID="dsBPRJGrid" runat="server"
TypeName="BprjDAC" SelectMethod="SelectPage" SelectCountMethod="SelectCount"
EnablePaging="true" OnSelected="dsBPRJGrid_Selected">
<SelectParameters>
<asp:Parameter Name="BPNUM" Type="String" />
<asp:Parameter Name="BPPNM" Type="String" />
<asp:Parameter Name="BPPME" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:SqlDataSource ID="dsBPRJForm" runat="server"
ConflictDetection="CompareAllValues" SelectCommand="SELECT * FROM BPRJ WHERE BPNUM=@BPNUM AND BPPNM=@BPPNM"
DeleteCommand="DELETE BPRJ
WHERE BPNUM = @OLD_BPNUM
AND BPPNM = @OLD_BPPNM
AND APPNO = @OLD_APPNO"
InsertCommand="INSERT INTO BPRJ
(BPNUM, BPPNM, BPPME, BPLDR, BPLOC, BPCTN, BPCTT, BPSTM, BPETM, BPWTN, BPBFT,
BPAFT, BPHOL, BPOVR, BPLVE, BPCPY, BPTME, APPNO, TRDAT, TRMOD, TRUSR)
VALUES
(@BPNUM, @BPPNM, @BPPME, @BPLDR, @BPLOC, @BPCTN, @BPCTT, @BPSTM, @BPETM, @BPWTN, @BPBFT,
@BPAFT, @BPHOL, @BPOVR, @BPLVE, @BPCPY, @BPTME, 1, GETDATE(), 'INSERT', @TRUSR)"
OldValuesParameterFormatString="OLD_{0}"
UpdateCommand="UPDATE BPRJ SET
BPPNM = @BPPNM,
BPPME = @BPPME,
BPNUM = @BPNUM,
BPLDR = @BPLDR,
BPLOC = @BPLOC,
BPCTN = @BPCTN,
BPCTT = @BPCTT,
BPSTM = @BPSTM,
BPETM = @BPETM,
BPWTN = @BPWTN,
BPBFT = @BPBFT,
BPAFT = @BPAFT,
BPHOL = @BPHOL,
BPOVR = @BPOVR,
BPLVE = @BPLVE,
BPCPY = @BPCPY,
BPTME = @BPTME,
APPNO = APPNO + 1,
TRDAT = GETDATE(),
TRMOD = 'UPDATE',
TRUSR = @TRUSR
WHERE BPNUM = @OLD_BPNUM
AND BPPNM = @OLD_BPPNM
AND APPNO = @OLD_APPNO">
<SelectParameters>
<asp:ControlParameter ControlID="gvBPRJ"
Name="BPNUM" PropertyName="SelectedDataKey[&quot;BPNUM&quot;]" />
<asp:ControlParameter ControlID="gvBPRJ"
Name="BPPNM" PropertyName="SelectedDataKey[&quot;BPPNM&quot;]" />
</SelectParameters>
<DeleteParameters>
<asp:Parameter Name="OLD_BPNUM" DbType="String" />
<asp:Parameter Name="OLD_BPPNM" DbType="String" />
<asp:Parameter Name="OLD_APPNO" DbType="Int32" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="BPPNM" DbType="String" />
<asp:Parameter Name="BPPME" DbType="String" />
<asp:Parameter Name="BPNUM" DbType="String" />
<asp:Parameter Name="BPLDR" DbType="String" />
<asp:Parameter Name="BPLOC" DbType="String" />
<asp:Parameter Name="BPCTN" DbType="String" />
<asp:Parameter Name="BPCTT" DbType="String" />
<asp:Parameter Name="BPSTM" DbType="String" />
<asp:Parameter Name="BPETM" DbType="String" />
<asp:Parameter Name="BPWTN" DbType="String" />
<asp:Parameter Name="BPBFT" DbType="Double" />
<asp:Parameter Name="BPAFT" DbType="Double" />
<asp:Parameter Name="BPHOL" DbType="Double" />
<asp:Parameter Name="BPOVR" DbType="String" />
<asp:Parameter Name="BPLVE" DbType="String" />
<asp:Parameter Name="BPCPY" DbType="String" />
<asp:Parameter Name="BPTME" DbType="String" />
<asp:SessionParameter DefaultValue="" Name="TRUSR"
SessionField="W_CUSR" />
<asp:Parameter Name="OLD_BPNUM" DbType="String" />
<asp:Parameter Name="OLD_BPPNM" DbType="String" />
<asp:Parameter Name="OLD_APPNO" DbType="String" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="BPNUM" DbType="String" />
<asp:Parameter Name="BPPNM" DbType="String" />
<asp:Parameter Name="BPPME" DbType="String" />
<asp:Parameter Name="BPLDR" DbType="String" />
<asp:Parameter Name="BPLOC" DbType="String" />
<asp:Parameter Name="BPCTN" DbType="String" />
<asp:Parameter Name="BPCTT" DbType="String" />
<asp:Parameter Name="BPSTM" DbType="String" />
<asp:Parameter Name="BPETM" DbType="String" />
<asp:Parameter Name="BPWTN" DbType="String" />
<asp:Parameter Name="BPBFT" DbType="Double" />
<asp:Parameter Name="BPAFT" DbType="Double" />
<asp:Parameter Name="BPHOL" DbType="Double" />
<asp:Parameter Name="BPOVR" DbType="String" />
<asp:Parameter Name="BPLVE" DbType="String" />
<asp:Parameter Name="BPCPY" DbType="String" />
<asp:Parameter Name="BPTME" DbType="String" />
<asp:SessionParameter DefaultValue="" Name="TRUSR"
SessionField="W_CUSR" />
</InsertParameters>
</asp:SqlDataSource>
<asp:ObjectDataSource ID="ds公司別" runat="server"
OldValuesParameterFormatString="original_{0}"
SelectMethod="SelectAll" TypeName="CompanyDAC">
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="dsBTME" runat="server"
OldValuesParameterFormatString="original_{0}"
SelectMethod="SelectForDropdown" TypeName="BtmeDAC">
</asp:ObjectDataSource>
<asp:FormView ID="fvBPRJ" runat="server"
DataSourceID="dsBPRJForm" DataKeyNames="BPNUM,BPPNM,APPNO"
OnDataBound="fvBPRJ_DataBound" OnItemCommand="fvBPRJ_ItemCommand"
OnItemDeleted="fvBPRJ_ItemDeleted" OnItemInserted="fvBPRJ_ItemInserted"
OnItemUpdated="fvBPRJ_ItemUpdated" OnModeChanged="fvBPRJ_ModeChanged"
OnModeChanging="fvBPRJ_ModeChanging" OnItemDeleting="fvBPRJ_ItemDeleting"
OnItemInserting="fvBPRJ_ItemInserting"
OnItemUpdating="fvBPRJ_ItemUpdating">
<ItemTemplate>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="left">
<cc1:WButton ID="btnInsert" runat="server"
CommandName="New" CssClass="button" Text="I.新增"
TextMessageId="I.+INSERT" AccessKey="I" />
<cc1:WButton ID="btnEdit" runat="server"
CommandName="Edit" CssClass="button" Text="M.更正"
TextMessageId="M.+UPDATE" AccessKey="M" />
<cc1:WButton ID="btnDelete" runat="server"
CommandName="Delete" CssClass="button"
Text="T.刪除" TextMessageId="T.+DELETE" OnClientClick="return confirm(msgConfirmDelete);"
AccessKey="T" />
<cc1:WButton ID="btnSearch" runat="server"
CommandName="Search" CssClass="button"
Text="F.查詢" TextMessageId="F.+SEARCH" AccessKey="F" /></td>
<td width="30"></td>
<td align="left">
<cc1:WButton ID="btnBPAA" runat="server"
CommandName="BPAA" CssClass="button" Text="Y.年度接單"
AccessKey="Y" Width="105px" />
<cc1:WButton ID="btnBPRM" runat="server"
CommandName="BPRM" CssClass="button" Text="P.專案作業人員"
AccessKey="P" Width="105px" Visible="false" />
<cc1:WButton ID="btnOPEN" runat="server"
CommandName="OPEN" CssClass="button" Text="O.年度開帳"
AccessKey="O" Enabled="False" Width="105px" />
<cc1:WButton ID="btnClose" runat="server"
CommandName="CLOSE" CssClass="button" Text="C.年度關帳"
AccessKey="C" Enabled="False" Width="105px" />
</td>
<td width="30"></td>
<td align="right">
<cc1:WButton ID="btnBCUS" runat="server"
AccessKey="R" CommandName="BCUS" CssClass="button"
Text="R.返回客戶資料" TextMessageId="" Width="105px"
Enabled='<%# ForwardSource != "" %>' />
</td>
</tr>
</table>
<table border="0" cellpadding="2" cellspacing="2"
width="1" style="table-layout: fixed">
<tr>
<td colspan="1" style="height: 0px; width: 110px"></td>
<td colspan="1" style="height: 0px; width: 120px"></td>
<td colspan="1" style="height: 0px; width: 90px"></td>
<td colspan="1" style="height: 0px; width: 120px"></td>
<td colspan="1" style="height: 0px; width: 100px"></td>
<td colspan="1" style="height: 0px; width: 120px"></td>
<td colspan="1" style="height: 0px; width: 130px"></td>
<td colspan="1" style="height: 0px; width: 120px"></td>
</tr>
<tr>
<td align="right" colspan="1">
<cc1:WLabel ID="lb公司別" runat="server"
CssClass="controlLabel" TextMessageId="">公司別:</cc1:WLabel>
</td>
<td class="dataDisplayCell" colspan="3">
<asp:Label ID="lbBPRJ_BPCPY" runat="server"
CssClass="textInput"
Text='<%# CompanyDAC.GetCompanyName(Eval("BPCPY", "{0}")) %>'></asp:Label>
</td>
</tr>
<tr>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPPNMLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPPNM+:">專案編號:</cc1:WLabel>
</td>
<td class="dataDisplayCell" colspan="1">
<asp:Label ID="lbBPRJ_BPPNM" runat="server"
CssClass="textInput" Text='<%# Bind("BPPNM") %>'></asp:Label>
</td>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPPMELabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPPME+:">專案名稱:</cc1:WLabel>
</td>
<td class="dataDisplayCell" colspan="5">
<asp:Label ID="lbBPRJ_BPPME" runat="server"
CssClass="textInput" Text='<%# Bind("BPPME") %>'></asp:Label>
</td>
</tr>
<tr>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPNUMLabel" runat="server"
CssClass="controlLabel" TextMessageId="BCUS.BCNUM+:">客戶編號:</cc1:WLabel></td>
<td class="dataDisplayCell" colspan="1">
<asp:Label ID="lbBPRJ_BPNUM" runat="server"
CssClass="textInput" Text='<%# Bind("BPNUM") %>'></asp:Label></td>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPNUMXLabel" runat="server"
CssClass="controlLabel" TextMessageId="BCUS.BCNAM+:">客戶名稱:</cc1:WLabel></td>
<td class="dataDisplayCell" colspan="5">
<asp:Label ID="lbBPRJ_BPNUMX" runat="server"
CssClass="textInput" Text='<%# GetLookup("BCUS", Eval("BPNUM", "{0}"), "BCNAM", "") %>'></asp:Label></td>
</tr>
<tr>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPLDRLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPLDR+:">專案主管:</cc1:WLabel>
</td>
<td class="dataDisplayCell" colspan="1">
<asp:Label ID="lbBPRJ_BPLDR" runat="server"
CssClass="textInput" Text='<%# Bind("BPLDR") %>'></asp:Label></td>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPLOCLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPLOC+:">專案地點:</cc1:WLabel>
</td>
<td class="dataDisplayCell" colspan="5">
<asp:Label ID="lbBPRJ_BPLOC" runat="server"
CssClass="textInput" Text='<%# Bind("BPLOC") %>'></asp:Label></td>
</tr>
<tr>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPCTNLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPCTN+:">專案聯絡人:</cc1:WLabel>
</td>
<td class="dataDisplayCell" colspan="1">
<asp:Label ID="lbBPRJ_BPCTN" runat="server"
CssClass="textInput" Text='<%# Bind("BPCTN") %>'></asp:Label></td>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPCTTLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPCTT+:">聯絡人電話:</cc1:WLabel>
</td>
<td class="dataDisplayCell" colspan="1">
<asp:Label ID="lbBPRJ_BPCTT" runat="server"
CssClass="textInput" Text='<%# Bind("BPCTT") %>'></asp:Label></td>
</tr>
<tr>
<%-- <td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPSTMLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPSTM+:">上班時間:</cc1:WLabel></td>
<td class="dataDisplayCell" colspan="1">
<asp:Label ID="lbBPRJ_BPSTM" runat="server"
CssClass="textInput" Text='<%# Bind("BPSTM") %>'></asp:Label></td>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPETMLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPETM+:">下班時間:</cc1:WLabel></td>
<td class="dataDisplayCell" colspan="1">
<asp:Label ID="lbBPRJ_BPETM" runat="server"
CssClass="textInput" Text='<%# Bind("BPETM") %>'></asp:Label></td>--%>
<td align="right" colspan="1">
<cc1:WLabel ID="WLabel3" runat="server"
CssClass="controlLabel">預設班表:</cc1:WLabel></td>
<td class="dataDisplayCell" colspan="3">
<asp:Label ID="lbBPRJ_BPETM" runat="server"
CssClass="textInput" Text='<%# GetBtmeName(Eval("BPTME")) %>'></asp:Label>
</td>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPWTNLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPWTN+:">是否需輪班:</cc1:WLabel></td>
<td class="dataDisplayCell" colspan="1">
<asp:Label ID="lbBPRJ_BPWTN" runat="server"
CssClass="textInput" Text='<%# Eval("BPWTN", "{0}").ToUpper() == "Y" ? "是" : "否" %>'></asp:Label></td>
<td align="right" colspan="1"></td>
<td colspan="1"></td>
<td align="right" colspan="1"></td>
<td colspan="1"></td>
</tr>
<tr>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPBFTLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPBFT+:">前二加班:</cc1:WLabel></td>
<td class="dataDisplayCell" colspan="1">
<asp:Label ID="lbBPRJ_BPBFT" runat="server"
CssClass="textInput" Text='<%# Bind("BPBFT", "{0:##0.0000}") %>'></asp:Label></td>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPAFTLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPAFT+:">後二加班:</cc1:WLabel></td>
<td class="dataDisplayCell" colspan="1">
<asp:Label ID="lbBPRJ_BPAFT" runat="server"
CssClass="textInput" Text='<%# Bind("BPAFT", "{0:##0.0000}") %>'></asp:Label></td>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPHOLLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPHOL+:">假日加班:</cc1:WLabel></td>
<td class="dataDisplayCell" colspan="1">
<asp:Label ID="lbBPRJ_BPHOL" runat="server"
CssClass="textInput" Text='<%# Bind("BPHOL", "{0:##0.0000}") %>'></asp:Label></td>
</tr>
<tr>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPOVRLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPOVR+:">加班費計算方式:</cc1:WLabel></td>
<td class="dataDisplayCell" colspan="3">
<asp:Label ID="lbBPRJ_BPOVR" runat="server"
CssClass="textInput" Text='<%# GetLookup("BFRM", Eval("BPOVR", "{0:c}"), "BFNAM") %>'></asp:Label></td>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPLVELabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPLVE+:">請假計算方式:</cc1:WLabel></td>
<td class="dataDisplayCell" colspan="3">
<asp:Label ID="lbBPRJ_BPLVE" runat="server"
CssClass="textInput" Text='<%# GetLookup("BFRM", Eval("BPLVE", "{0:c}"), "BFNAM") %>'></asp:Label></td>
</tr>
</table>
</ItemTemplate>
<EditItemTemplate>
<cc1:WButton ID="btnSave" runat="server"
CommandName="Update" CssClass="button"
Text="S.存檔" TextMessageId="S.+SAVE" OnClientClick="return confirm(msgConfirmSave);"
AccessKey="S" />
<cc1:WButton ID="btnCancel" runat="server"
CommandName="Cancel" CssClass="button"
Text="C.取消" TextMessageId="C.+CANCEL" OnClientClick="return confirm(msgConfirmCancel);"
AccessKey="C" />
<asp:RequiredFieldValidator ID="rfvBPPME"
runat="server" ControlToValidate="txtBPRJ_BPPME"
Display="None" ErrorMessage="請輸入專案名稱"></asp:RequiredFieldValidator>
<asp:RequiredFieldValidator ID="rfvBPNUM"
runat="server" ControlToValidate="txtBPRJ_BPNUM"
Display="None" ErrorMessage="請輸入客戶編號"></asp:RequiredFieldValidator>
<asp:CustomValidator ID="cvBPBFT" runat="server"
ControlToValidate="txtBPRJ_BPBFT" Display="None"
ErrorMessage="請輸入前二加班 (例如 1.33)" OnServerValidate="cvOverTime_ServerValidate"
ValidateEmptyText="True"></asp:CustomValidator>
<asp:CustomValidator ID="cvBPAFT" runat="server"
ControlToValidate="txtBPRJ_BPAFT" Display="None"
ErrorMessage="請輸入後二加班 (例如 1.66)" OnServerValidate="cvOverTime_ServerValidate"
ValidateEmptyText="True"></asp:CustomValidator>
<asp:CustomValidator ID="cvBPHOL" runat="server"
ControlToValidate="txtBPRJ_BPHOL" Display="None"
ErrorMessage="請輸入假日加班 (例如 1.00)" OnServerValidate="cvOverTime_ServerValidate"
ValidateEmptyText="True"></asp:CustomValidator>
<asp:RequiredFieldValidator ID="rfvBPCPY" runat="server"
ControlToValidate="ddlBPCPY" Display="None"
ErrorMessage="請選擇公司別"></asp:RequiredFieldValidator>
<table border="0" cellpadding="2" cellspacing="2"
style="table-layout: fixed" width="1">
<tr>
<td colspan="1" style="height: 0px; width: 90px"></td>
<td colspan="1" style="height: 0px; width: 120px"></td>
<td colspan="1" style="height: 0px; width: 90px"></td>
<td colspan="1" style="height: 0px; width: 120px"></td>
<td colspan="1" style="height: 0px; width: 90px"></td>
<td colspan="1" style="height: 0px; width: 120px"></td>
<td colspan="1" style="height: 0px; width: 130px"></td>
<td colspan="1" style="height: 0px; width: 120px"></td>
</tr>
<tr>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPPNMLabel1" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPPNM+:">公司別:</cc1:WLabel>
</td>
<td colspan="3" class="dataEditCell">
<cc1:WDropDownList ID="ddlBPCPY" runat="server"
CssClass="textInput" DataSourceID="ds公司別"
DataTextField="CompanyName" DataValueField="CompanyId"
SelectedValue='<%# Bind("BPCPY") %>'>
</cc1:WDropDownList>
</td>
</tr>
<tr>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPPNMLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPPNM+:">專案編號:</cc1:WLabel>
</td>
<td class="dataDisplayCell" colspan="1">
<asp:Label ID="lbBPRJ_BPPNM" runat="server"
CssClass="textInput" Text='<%# Bind("BPPNM") %>'></asp:Label>
</td>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPPMELabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPPME+:">專案名稱:</cc1:WLabel>
</td>
<td colspan="5">
<asp:TextBox ID="txtBPRJ_BPPME" runat="server"
CssClass="textInput" MaxLength="50"
Text='<%# Bind("BPPME") %>'></asp:TextBox>
</td>
</tr>
<tr>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPNUMLabel" runat="server"
CssClass="controlLabel" TextMessageId="BCUS.BCNUM+:">客戶編號:</cc1:WLabel>
</td>
<td colspan="1">
<table border="0" cellpadding="0" cellspacing="0"
width="100%">
<tr>
<td width="100">
<asp:TextBox ID="txtBPRJ_BPNUM" runat="server"
CssClass="textInput" MaxLength="10" Text='<%# Bind("BPNUM") %>'></asp:TextBox></td>
<td>
<asp:ImageButton ID="btnBPRJ_BPNUM_WQRY"
runat="server" ImageUrl="~/picture/pickup.gif" /></td>
</tr>
</table>
</td>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPNUMXLabel" runat="server"
CssClass="controlLabel" TextMessageId="BCUS.BCNAM+:">客戶名稱:</cc1:WLabel>
</td>
<td colspan="5" class="dataDisplayCell">
<asp:Label ID="lbBPRJ_BPNUMX" runat="server"
CssClass="textInput" Text='<%# GetLookup("BCUS", Eval("BPNUM", "{0}"), "BCNAM", "") %>'></asp:Label></td>
</tr>
<tr>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPLDRLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPLDR+:">專案主管:</cc1:WLabel>
</td>
<td colspan="3">
<asp:TextBox ID="txtBPRJ_BPLDR" runat="server"
CssClass="textInput" MaxLength="10" Text='<%# Bind("BPLDR") %>'></asp:TextBox>
</td>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPLOCLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPLOC+:">專案地點:</cc1:WLabel>
</td>
<td colspan="3">
<asp:TextBox ID="txtBPRJ_BPLOC" runat="server"
CssClass="textInput" MaxLength="30" Text='<%# Bind("BPLOC") %>'></asp:TextBox>
</td>
</tr>
<tr>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPCTNLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPCTN+:">專案聯絡人:</cc1:WLabel>
</td>
<td colspan="1">
<asp:TextBox ID="txtBPRJ_BPCTN" runat="server"
CssClass="textInput" MaxLength="20" Text='<%# Bind("BPCTN") %>'></asp:TextBox>
</td>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPCTTLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPCTT+:">聯絡人電話:</cc1:WLabel>
</td>
<td colspan="1">
<asp:TextBox ID="txtBPRJ_BPCTT" runat="server"
CssClass="textInput" MaxLength="20" Text='<%# Bind("BPCTT") %>'></asp:TextBox>
</td>
</tr>
<tr>
<%-- <td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPSTMLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPSTM+:">上班時間:</cc1:WLabel></td>
<td colspan="1">
<asp:TextBox ID="txtBPRJ_BPSTM" runat="server"
CssClass="textInput" MaxLength="10" Text='<%# Bind("BPSTM") %>'></asp:TextBox></td>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPETMLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPETM+:">下班時間:</cc1:WLabel></td>
<td colspan="1">
<asp:TextBox ID="txtBPRJ_BPETM" runat="server"
CssClass="textInput" MaxLength="10" Text='<%# Bind("BPETM") %>'></asp:TextBox></td>--%>
<td align="right" colspan="1">
<cc1:WLabel ID="WLabel3" runat="server"
CssClass="controlLabel">預設班表:</cc1:WLabel></td>
<td class="dataEditCell" colspan="3">
<cc1:WDropDownList ID="ddlBPTME" runat="server"
CssClass="textInput" DataSourceID="dsBTME"
DataTextField="BTNME" DataValueField="BTTID"
SelectedValue='<%# Bind("BPTME") %>'></cc1:WDropDownList>
</td>
<td colspan="2">
<cc1:WCheckBox ID="cbBPRJ_BPWTN" runat="server"
Text="是否需輪班" TextMessageId="BPRJ.BPWTN" CheckedValue="Y"
UncheckedValue="N"
Value='<%# Bind("BPWTN") %>' /></td>
</tr>
<tr>
<td align="right">
<cc1:WLabel ID="lbBPRJ_BPBFTLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPBFT+:">前二加班:</cc1:WLabel></td>
<td>
<asp:TextBox ID="txtBPRJ_BPBFT" runat="server"
CssClass="textInput" MaxLength="8" Text='<%# Bind("BPBFT") %>'></asp:TextBox></td>
<td align="right">
<cc1:WLabel ID="lbBPRJ_BPAFTLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPAFT+:">後二加班:</cc1:WLabel></td>
<td>
<asp:TextBox ID="txtBPRJ_BPAFT" runat="server"
CssClass="textInput" MaxLength="8" Text='<%# Bind("BPAFT") %>'></asp:TextBox></td>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPHOLLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPHOL+:">假日加班:</cc1:WLabel></td>
<td colspan="1">
<asp:TextBox ID="txtBPRJ_BPHOL" runat="server"
CssClass="textInput" MaxLength="8" Text='<%# Bind("BPHOL") %>'></asp:TextBox></td>
</tr>
<tr>
<td align="right">
<cc1:WLabel ID="lbBPRJ_BPOVRLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPOVR+:">加班費計算方式:</cc1:WLabel></td>
<td colspan="3">
<cc1:WDropDownList ID="ddlBPRJ_BPOVR" runat="server"
CssClass="textInput" DataTextField="BFNAM"
DataValueField="BFNUM" SelectedValue='<%# Bind("BPOVR") %>'
SQL="SELECT BFNUM, BFNAM FROM BFRM WHERE BFNUM LIKE 'A%' ORDER BY BFNUM">
</cc1:WDropDownList></td>
<td align="right">
<cc1:WLabel ID="lbBPRJ_BPLVELabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPLVE+:">請假計算方式:</cc1:WLabel></td>
<td colspan="3">
<cc1:WDropDownList ID="ddlBPRJ_BPLVE" runat="server"
CssClass="textInput" DataTextField="BFNAM"
DataValueField="BFNUM" SelectedValue='<%# Bind("BPLVE") %>'
SQL="SELECT BFNUM, BFNAM FROM BFRM WHERE BFNUM LIKE 'B%' ORDER BY BFNUM">
</cc1:WDropDownList></td>
</tr>
</table>
<asp:HiddenField ID="hfBPRJ_APPNO" runat="server"
Value='<%# Bind("APPNO", "{0}") %>' />
</EditItemTemplate>
<InsertItemTemplate>
<cc1:WButton ID="btnSave" runat="server"
CommandName="Insert" CssClass="button"
Text="S.存檔" TextMessageId="S.+SAVE" OnClientClick="return confirm(msgConfirmSave);"
AccessKey="S" />
<cc1:WButton ID="btnCancel" runat="server"
CommandName="Cancel" CssClass="button"
Text="C.取消" TextMessageId="C.+CANCEL" OnClientClick="return confirm(msgConfirmCancel);"
AccessKey="C" />
<asp:RequiredFieldValidator ID="rfvBPPNM"
runat="server" ControlToValidate="txtBPRJ_BPPNM"
Display="None" ErrorMessage="請輸入專案編號"></asp:RequiredFieldValidator>
<asp:RequiredFieldValidator ID="rfvBPPME"
runat="server" ControlToValidate="txtBPRJ_BPPME"
Display="None" ErrorMessage="請輸入專案名稱"></asp:RequiredFieldValidator>
<asp:RequiredFieldValidator ID="rfvBPNUM"
runat="server" ControlToValidate="txtBPRJ_BPNUM"
Display="None" ErrorMessage="請輸入客戶編號"></asp:RequiredFieldValidator>
<asp:CustomValidator ID="cvBPBFT" runat="server"
ControlToValidate="txtBPRJ_BPBFT" Display="None"
ErrorMessage="請輸入前二加班 (例如 1.33)" OnServerValidate="cvOverTime_ServerValidate"
ValidateEmptyText="True"></asp:CustomValidator>
<asp:CustomValidator ID="cvBPAFT" runat="server"
ControlToValidate="txtBPRJ_BPAFT" Display="None"
ErrorMessage="請輸入後二加班 (例如 1.66)" OnServerValidate="cvOverTime_ServerValidate"
ValidateEmptyText="True"></asp:CustomValidator>
<asp:CustomValidator ID="cvBPHOL" runat="server"
ControlToValidate="txtBPRJ_BPHOL" Display="None"
ErrorMessage="請輸入假日加班 (例如 1.00)" OnServerValidate="cvOverTime_ServerValidate"
ValidateEmptyText="True"></asp:CustomValidator>
<asp:CustomValidator ID="cvBPPNM" runat="server"
ControlToValidate="txtBPRJ_BPPNM" Display="None"
ErrorMessage="專案編號已存在,請重新輸入"
ValidateEmptyText="True"
OnServerValidate="cvBPPNM_ServerValidate"></asp:CustomValidator>
<asp:RequiredFieldValidator ID="rfvBPCPY" runat="server"
ControlToValidate="ddlBPCPY" Display="None"
ErrorMessage="請選擇公司別"></asp:RequiredFieldValidator>
<table border="0" cellpadding="2" cellspacing="2"
style="table-layout: fixed" width="1">
<tr>
<td colspan="1" style="height: 0px; width: 90px"></td>
<td colspan="1" style="height: 0px; width: 120px"></td>
<td colspan="1" style="height: 0px; width: 90px"></td>
<td colspan="1" style="height: 0px; width: 120px"></td>
<td colspan="1" style="height: 0px; width: 90px"></td>
<td colspan="1" style="height: 0px; width: 120px"></td>
<td colspan="1" style="height: 0px; width: 130px"></td>
<td colspan="1" style="height: 0px; width: 120px"></td>
</tr>
<tr>
<td align="right" colspan="1">
<cc1:WLabel ID="WLabel2" runat="server"
CssClass="controlLabel" TextMessageId="">業態:</cc1:WLabel>
</td>
<td class="dataEditCell" colspan="1">
<cc1:WDropDownList ID="ddlTrade" runat="server"
CssClass="textInput" DataTextField="BSSCR"
DataValueField="BSCLS"
SQL="SELECT BSCLS, BSSCR FROM BCLS WHERE BSPAR='BCUSTRD'">
</cc1:WDropDownList>
</td>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPPMELabel0" runat="server"
CssClass="controlLabel" TextMessageId="">公司別:</cc1:WLabel>
</td>
<td class="dataEditCell" colspan="3">
<cc1:WDropDownList ID="ddlBPCPY" runat="server"
CssClass="textInput" DataSourceID="ds公司別"
DataTextField="CompanyName" DataValueField="CompanyId"
SelectedValue='<%# Bind("BPCPY") %>'>
</cc1:WDropDownList>
</td>
</tr>
<tr>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPPNMLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPPNM+:">專案編號:</cc1:WLabel>
</td>
<td colspan="1">
<asp:TextBox ID="txtBPRJ_BPPNM" runat="server"
CssClass="textInput" MaxLength="10"
Text='<%# Bind("BPPNM") %>'></asp:TextBox>
</td>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPPMELabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPPME+:">專案名稱:</cc1:WLabel>
</td>
<td class="dataEditCell" colspan="5">
<asp:TextBox ID="txtBPRJ_BPPME" runat="server"
CssClass="textInput" MaxLength="50"
Text='<%# Bind("BPPME") %>'></asp:TextBox>
</td>
</tr>
<tr>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPNUMLabel" runat="server"
CssClass="controlLabel" TextMessageId="BCUS.BCNUM+:">客戶編號:</cc1:WLabel>
</td>
<td class="dataEditCell" colspan="1">
<table border="0" cellpadding="0" cellspacing="0"
width="100%">
<tr>
<td width="100">
<asp:TextBox ID="txtBPRJ_BPNUM" runat="server"
CssClass="textInput" MaxLength="10"
Text='<%# Bind("BPNUM") %>'></asp:TextBox>
</td>
<td>
<asp:ImageButton ID="btnBPRJ_BPNUM_WQRY" runat="server"
ImageUrl="~/picture/pickup.gif" />
</td>
</tr>
</table>
</td>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPNUMXLabel" runat="server"
CssClass="controlLabel" TextMessageId="BCUS.BCNAM+:">客戶名稱:</cc1:WLabel>
</td>
<td class="dataDisplayCell" colspan="5">
<asp:Label ID="lbBPRJ_BPNUMX" runat="server"
CssClass="textInput"
Text='<%# GetLookup("BCUS", Eval("BPNUM", "{0}"), "BCNAM", "") %>'></asp:Label>
</td>
</tr>
<tr>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPLDRLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPLDR+:">專案主管:</cc1:WLabel>
</td>
<td class="dataEditCell" colspan="3">
<asp:TextBox ID="txtBPRJ_BPLDR" runat="server"
CssClass="textInput" MaxLength="10"
Text='<%# Bind("BPLDR") %>'></asp:TextBox>
</td>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPLOCLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPLOC+:">專案地點:</cc1:WLabel>
</td>
<td class="dataEditCell" colspan="3">
<asp:TextBox ID="txtBPRJ_BPLOC" runat="server"
CssClass="textInput" MaxLength="30"
Text='<%# Bind("BPLOC") %>'></asp:TextBox>
</td>
</tr>
<tr>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPCTNLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPCTN+:">專案聯絡人:</cc1:WLabel>
</td>
<td class="dataEditCell" colspan="1">
<asp:TextBox ID="txtBPRJ_BPCTN" runat="server"
CssClass="textInput" MaxLength="20"
Text='<%# Bind("BPCTN") %>'></asp:TextBox>
</td>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPCTTLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPCTT+:">聯絡人電話:</cc1:WLabel>
</td>
<td class="dataEditCell" colspan="1">
<asp:TextBox ID="txtBPRJ_BPCTT" runat="server"
CssClass="textInput" MaxLength="20"
Text='<%# Bind("BPCTT") %>'></asp:TextBox>
</td>
</tr>
<tr>
<%-- <td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPSTMLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPSTM+:">上班時間:</cc1:WLabel>
</td>
<td class="dataEditCell" colspan="1">
<asp:TextBox ID="txtBPRJ_BPSTM" runat="server"
CssClass="textInput" MaxLength="10"
Text='<%# Bind("BPSTM") %>'></asp:TextBox>
</td>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPETMLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPETM+:">下班時間:</cc1:WLabel>
</td>
<td class="dataEditCell" colspan="1">
<asp:TextBox ID="txtBPRJ_BPETM" runat="server"
CssClass="textInput" MaxLength="10"
Text='<%# Bind("BPETM") %>'></asp:TextBox>
</td>--%>
<td align="right" colspan="1">
<cc1:WLabel ID="WLabel3" runat="server"
CssClass="controlLabel">預設班表:</cc1:WLabel></td>
<td class="dataEditCell" colspan="3">
<cc1:WDropDownList ID="ddlBPTME" runat="server"
CssClass="textInput" DataSourceID="dsBTME"
DataTextField="BTNME" DataValueField="BTTID"
SelectedValue='<%# Bind("BPTME") %>'></cc1:WDropDownList>
</td>
<td class="dataEditCell" colspan="2">
<cc1:WCheckBox ID="cbBPRJ_BPWTN" runat="server"
CheckedValue="Y" CssClass="textInput" Text="是否需輪班"
TextMessageId="BPRJ.BPWTN" UncheckedValue="N"
Value='<%# Bind("BPWTN") %>' />
</td>
</tr>
<tr>
<td align="right">
<cc1:WLabel ID="lbBPRJ_BPBFTLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPBFT+:">前二加班:</cc1:WLabel>
</td>
<td class="dataEditCell">
<asp:TextBox ID="txtBPRJ_BPBFT" runat="server"
CssClass="textInput" MaxLength="8"
Text='<%# Bind("BPBFT") %>'></asp:TextBox>
</td>
<td align="right">
<cc1:WLabel ID="lbBPRJ_BPAFTLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPAFT+:">後二加班:</cc1:WLabel>
</td>
<td class="dataEditCell">
<asp:TextBox ID="txtBPRJ_BPAFT" runat="server"
CssClass="textInput" MaxLength="8"
Text='<%# Bind("BPAFT") %>'></asp:TextBox>
</td>
<td align="right" colspan="1">
<cc1:WLabel ID="lbBPRJ_BPHOLLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPHOL+:">假日加班:</cc1:WLabel>
</td>
<td class="dataEditCell" colspan="1">
<asp:TextBox ID="txtBPRJ_BPHOL" runat="server"
CssClass="textInput" MaxLength="8"
Text='<%# Bind("BPHOL") %>'></asp:TextBox>
</td>
</tr>
<tr>
<td align="right">
<cc1:WLabel ID="lbBPRJ_BPOVRLabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPOVR+:">加班費計算方式:</cc1:WLabel>
</td>
<td class="dataEditCell" colspan="3">
<cc1:WDropDownList ID="ddlBPRJ_BPOVR" runat="server"
CssClass="textInput" DataTextField="BFNAM"
DataValueField="BFNUM" SelectedValue='<%# Bind("BPOVR") %>'
SQL="SELECT BFNUM, BFNAM FROM BFRM WHERE BFNUM LIKE 'A%' ORDER BY BFNUM">
</cc1:WDropDownList>
</td>
<td align="right">
<cc1:WLabel ID="lbBPRJ_BPLVELabel" runat="server"
CssClass="controlLabel" TextMessageId="BPRJ.BPLVE+:">請假計算方式:</cc1:WLabel>
</td>
<td class="dataEditCell" colspan="3">
<cc1:WDropDownList ID="ddlBPRJ_BPLVE" runat="server"
CssClass="textInput" DataTextField="BFNAM"
DataValueField="BFNUM" SelectedValue='<%# Bind("BPLVE") %>'
SQL="SELECT BFNUM, BFNAM FROM BFRM WHERE BFNUM LIKE 'B%' ORDER BY BFNUM">
</cc1:WDropDownList>
</td>
</tr>
</table>
</InsertItemTemplate>
</asp:FormView>
<asp:GridView ID="gvBPRJ" runat="server"
DataSourceID="dsBPRJGrid" DataKeyNames="BPNUM,BPPNM"
AutoGenerateColumns="False" AllowPaging="True"
OnDataBound="gvBPRJ_DataBound" OnPageIndexChanged="gvBPRJ_PageIndexChanged" OnRowDataBound="gvBPRJ_RowDataBound"
OnSelectedIndexChanged="gvBPRJ_SelectedIndexChanged">
<Columns>
<asp:CommandField SelectText="" ShowSelectButton="True">
<ItemStyle Font-Bold="True" Font-Underline="False"
ForeColor="Orange" />
</asp:CommandField>
<asp:BoundField AccessibleHeaderText="BPRJ.BPPNM"
DataField="BPPNM" HeaderText="BPPNM" SortExpression="BPPNM" />
<asp:BoundField AccessibleHeaderText="BPRJ.BPPME"
DataField="BPPME" HeaderText="BPPME" SortExpression="BPPME" />
<asp:BoundField AccessibleHeaderText="BCUS.BCNUM"
DataField="BPNUM" HeaderText="BPNUM" ReadOnly="True"
SortExpression="BPNUM" />
<asp:TemplateField AccessibleHeaderText="BCUS.BCNAM">
<ItemTemplate>
<asp:Label runat="server" ID="lbBCUS_BCNAM"
Text='<%# GetLookup("BCUS", Eval("BPNUM", "{0:c}"), "BCNAM", "") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="最近接單年度"
DataField="LAST_YEAR" ItemStyle-HorizontalAlign="Center" />
</Columns>
<PagerTemplate>
<cc1:WGridViewPager ID="GridView1Pager" runat="server" />
</PagerTemplate>
</asp:GridView>
</asp:View>
</asp:MultiView>