feat: fmRpfe GridView 改用 ObjectDataSource
- 新增 RpfeDAC(SelectPage/SelectCount) - dsRPFEGrid 改 ObjectDataSource;Search/Selected 調整
This commit is contained in:
@@ -28,7 +28,7 @@
|
|||||||
| 10 | forms/customer/fmRasn.ascx | gvRASN_RAENO | dsRASN_RAENO1 | RASN+BPSNView | RasnDAC(+Select) | **完成** |
|
| 10 | forms/customer/fmRasn.ascx | gvRASN_RAENO | dsRASN_RAENO1 | RASN+BPSNView | RasnDAC(+Select) | **完成** |
|
||||||
| 11 | forms/customer/fmRasn.ascx | gvRASN_RABRH | dsRASN_RABRH1 | RASN+BCLS | RasnDAC(+Select) | **完成** |
|
| 11 | forms/customer/fmRasn.ascx | gvRASN_RABRH | dsRASN_RABRH1 | RASN+BCLS | RasnDAC(+Select) | **完成** |
|
||||||
| 12 | forms/customer/fmRasn.ascx | RASNGrid | dsRASNGrid | RASN/BPJB/BPSNView | RasnDAC(+Select) | **完成** |
|
| 12 | forms/customer/fmRasn.ascx | RASNGrid | dsRASNGrid | RASN/BPJB/BPSNView | RasnDAC(+Select) | **完成** |
|
||||||
| 13 | forms/customer/fmRpfe.ascx | RPFEGrid | dsRPFEGrid | RPFE | 無 | 待辦 |
|
| 13 | forms/customer/fmRpfe.ascx | RPFEGrid | dsRPFEGrid | RPFE | 無→RpfeDAC | **完成** |
|
||||||
| 14 | forms/flow/fmSign.ascx | gvRPAB2 | dsRPAB2 | RPAB | RpabDAC | 待辦 |
|
| 14 | forms/flow/fmSign.ascx | gvRPAB2 | dsRPAB2 | RPAB | RpabDAC | 待辦 |
|
||||||
| 15 | forms/flow/fmSign.ascx | gvRPAB | dsRPAB | RPAB | RpabDAC | 待辦 |
|
| 15 | forms/flow/fmSign.ascx | gvRPAB | dsRPAB | RPAB | RpabDAC | 待辦 |
|
||||||
| 16 | forms/summary/fmSalaryCalc.ascx | GridView1 | dsSACD | SACD | 無 | 待辦 |
|
| 16 | forms/summary/fmSalaryCalc.ascx | GridView1 | dsSACD | SACD | 無 | 待辦 |
|
||||||
@@ -150,3 +150,4 @@
|
|||||||
| 2026-09-10 | 轉換 fmBprj(BPRJ):BprjDAC 新增 SelectPage/SelectCount/SelectBPRJIndex(含 LAST_YEAR 排序);dsBPRJGrid 改 ObjectDataSource;編譯通過 |
|
| 2026-09-10 | 轉換 fmBprj(BPRJ):BprjDAC 新增 SelectPage/SelectCount/SelectBPRJIndex(含 LAST_YEAR 排序);dsBPRJGrid 改 ObjectDataSource;編譯通過 |
|
||||||
| 2026-09-10 | 轉換 fmBprm(BPRM):BprmDAC 新增 SelectPage/SelectCount;dsBPRMGrid 改 ObjectDataSource;dsBPRM_Selected 拆分為 grid/form 兩個事件;編譯通過 |
|
| 2026-09-10 | 轉換 fmBprm(BPRM):BprmDAC 新增 SelectPage/SelectCount;dsBPRMGrid 改 ObjectDataSource;dsBPRM_Selected 拆分為 grid/form 兩個事件;編譯通過 |
|
||||||
| 2026-09-10 | 轉換 fmRasn(RASN,3 個 Grid):RasnDAC 新增 SelectPage/SelectCount 及 SelectRAENO/SelectRABRH;三個 datasource 改 ObjectDataSource;Search/Selected 調整;編譯通過 |
|
| 2026-09-10 | 轉換 fmRasn(RASN,3 個 Grid):RasnDAC 新增 SelectPage/SelectCount 及 SelectRAENO/SelectRABRH;三個 datasource 改 ObjectDataSource;Search/Selected 調整;編譯通過 |
|
||||||
|
| 2026-09-10 | 轉換 fmRpfe(RPFE):新增 RpfeDAC(SelectPage/SelectCount);dsRPFEGrid 改 ObjectDataSource;編譯通過 |
|
||||||
|
|||||||
@@ -0,0 +1,82 @@
|
|||||||
|
using System;
|
||||||
|
using System.Data;
|
||||||
|
using System.Data.Common;
|
||||||
|
using System.Text;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using Wellan.Data;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 專案憑證的資料處理類別
|
||||||
|
/// </summary>
|
||||||
|
[DataObject(true)]
|
||||||
|
public class RpfeDAC : Wellan.Data.WDAC
|
||||||
|
{
|
||||||
|
public RpfeDAC()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public RpfeDAC(string connectionConfig, string connectionConfigName)
|
||||||
|
: this()
|
||||||
|
{
|
||||||
|
this._connectionConfig = connectionConfig;
|
||||||
|
this._connectionConfigName = connectionConfigName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public RpfeDAC(WQuery query)
|
||||||
|
{
|
||||||
|
this._query = query;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 專案憑證 Grid 分頁查詢
|
||||||
|
/// </summary>
|
||||||
|
[DataObjectMethod(DataObjectMethodType.Select)]
|
||||||
|
public DataTable SelectPage(int startRowIndex, int maximumRows, string RPPYN)
|
||||||
|
{
|
||||||
|
DbCommand cmd = Query.NewCommand();
|
||||||
|
|
||||||
|
StringBuilder filter = new StringBuilder();
|
||||||
|
BuildFilter(filter, cmd, RPPYN);
|
||||||
|
|
||||||
|
cmd.CommandText = String.Format(
|
||||||
|
@"SELECT * FROM
|
||||||
|
(
|
||||||
|
SELECT *, ROW_NUMBER() OVER (ORDER BY RPPYN, RPREN) AS ROWID
|
||||||
|
FROM RPFE WHERE 1=1 {0}
|
||||||
|
) AS TMP
|
||||||
|
WHERE ROWID BETWEEN @STARTROWINDEX + 1 AND @STARTROWINDEX + @MAXIMUMROWS
|
||||||
|
ORDER BY ROWID",
|
||||||
|
filter.ToString());
|
||||||
|
cmd.Parameters.Add(Query.NewParameter("STARTROWINDEX", startRowIndex));
|
||||||
|
cmd.Parameters.Add(Query.NewParameter("MAXIMUMROWS", maximumRows));
|
||||||
|
|
||||||
|
return Query.Select(cmd);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 專案憑證 Grid 查詢筆數
|
||||||
|
/// </summary>
|
||||||
|
[DataObjectMethod(DataObjectMethodType.Select)]
|
||||||
|
public int SelectCount(string RPPYN)
|
||||||
|
{
|
||||||
|
DbCommand cmd = Query.NewCommand();
|
||||||
|
|
||||||
|
StringBuilder filter = new StringBuilder();
|
||||||
|
BuildFilter(filter, cmd, RPPYN);
|
||||||
|
|
||||||
|
cmd.CommandText = String.Format("SELECT COUNT(*) FROM RPFE WHERE 1=1 {0}", filter.ToString());
|
||||||
|
return WDAC.GetInt32Value(Query.ExecuteScalar(cmd));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 組出專案憑證 Grid 的查詢條件 (與舊 AddSearch 行為一致)
|
||||||
|
/// </summary>
|
||||||
|
private void BuildFilter(StringBuilder sb, DbCommand cmd, string RPPYN)
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(RPPYN))
|
||||||
|
{
|
||||||
|
sb.Append(" AND RPPYN LIKE @RPPYN1 ");
|
||||||
|
cmd.Parameters.Add(Query.NewParameter("RPPYN1", RPPYN + "%"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -6,11 +6,13 @@
|
|||||||
TextMessageId="FMRPFE.NAME"></cc1:WLabel>
|
TextMessageId="FMRPFE.NAME"></cc1:WLabel>
|
||||||
<asp:CustomValidator ID="cvMessage" runat="server"
|
<asp:CustomValidator ID="cvMessage" runat="server"
|
||||||
Display="None"></asp:CustomValidator>
|
Display="None"></asp:CustomValidator>
|
||||||
<asp:SqlDataSource ID="dsRPFEGrid" runat="server"
|
<asp:ObjectDataSource ID="dsRPFEGrid" runat="server"
|
||||||
ConflictDetection="CompareAllValues" SelectCommand="SELECT * FROM RPFE WHERE (1 = 0)"
|
TypeName="RpfeDAC" SelectMethod="SelectPage" SelectCountMethod="SelectCount"
|
||||||
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
EnablePaging="true" OnSelected="dsRPFEGrid_Selected">
|
||||||
ProviderName="System.Data.SqlClient" OnSelected="dsRPFEGrid_Selected">
|
<SelectParameters>
|
||||||
</asp:SqlDataSource>
|
<asp:Parameter Name="RPPYN" Type="String" />
|
||||||
|
</SelectParameters>
|
||||||
|
</asp:ObjectDataSource>
|
||||||
<asp:SqlDataSource ID="dsRPFEForm" runat="server"
|
<asp:SqlDataSource ID="dsRPFEForm" runat="server"
|
||||||
UpdateCommand="UPDATE RPFE SET RPENO = @RPENO, RPDAT = @RPDAT, RPACC = @RPACC, RPAMT = @RPAMT, RPDOC = @RPDOC, APPNO = APPNO + 1, TRDAT = GETDATE(), TRMOD = 'UPDATE', TRUSR = @TRUSR WHERE RPREN = @OLD_RPREN AND APPNO = @OLD_APPNO"
|
UpdateCommand="UPDATE RPFE SET RPENO = @RPENO, RPDAT = @RPDAT, RPACC = @RPACC, RPAMT = @RPAMT, RPDOC = @RPDOC, APPNO = APPNO + 1, TRDAT = GETDATE(), TRMOD = 'UPDATE', TRUSR = @TRUSR WHERE RPREN = @OLD_RPREN AND APPNO = @OLD_APPNO"
|
||||||
DeleteCommand="DELETE FROM RPFE WHERE RPREN = @OLD_RPREN AND APPNO = @OLD_APPNO"
|
DeleteCommand="DELETE FROM RPFE WHERE RPREN = @OLD_RPREN AND APPNO = @OLD_APPNO"
|
||||||
|
|||||||
@@ -23,10 +23,6 @@ public partial class forms_customer_fmRpfe : Wellan.Web.UI.WUserControlBase
|
|||||||
{
|
{
|
||||||
private string _RPPYN = "";
|
private string _RPPYN = "";
|
||||||
private int _YY = 0;
|
private int _YY = 0;
|
||||||
private string select = "SELECT * ";
|
|
||||||
private string from = " FROM RPFE ";
|
|
||||||
private string where = " WHERE 1=1 ";
|
|
||||||
private string order = " ORDER BY RPPYN, RPREN";
|
|
||||||
private TextBox[] RPDATs = new TextBox[10];
|
private TextBox[] RPDATs = new TextBox[10];
|
||||||
private DropDownList[] RPACCs = new DropDownList[10];
|
private DropDownList[] RPACCs = new DropDownList[10];
|
||||||
private TextBox[] RPAMTs = new TextBox[10];
|
private TextBox[] RPAMTs = new TextBox[10];
|
||||||
@@ -47,7 +43,6 @@ public partial class forms_customer_fmRpfe : Wellan.Web.UI.WUserControlBase
|
|||||||
{
|
{
|
||||||
base.OnInit(e);
|
base.OnInit(e);
|
||||||
dsRPFEForm.ConnectionString = ConnectionString;
|
dsRPFEForm.ConnectionString = ConnectionString;
|
||||||
dsRPFEGrid.ConnectionString = ConnectionString;
|
|
||||||
dsRPFE_RPACC.ConnectionString = ConnectionString;
|
dsRPFE_RPACC.ConnectionString = ConnectionString;
|
||||||
dsRPFE_RPENO.ConnectionString = ConnectionString;
|
dsRPFE_RPENO.ConnectionString = ConnectionString;
|
||||||
|
|
||||||
@@ -152,14 +147,7 @@ public partial class forms_customer_fmRpfe : Wellan.Web.UI.WUserControlBase
|
|||||||
// 查詢動作
|
// 查詢動作
|
||||||
private new void Search()
|
private new void Search()
|
||||||
{
|
{
|
||||||
StringBuilder sql = new StringBuilder();
|
dsRPFEGrid.SelectParameters["RPPYN"].DefaultValue = _RPPYN;
|
||||||
sql.Append(select);
|
|
||||||
sql.Append(from);
|
|
||||||
sql.Append(where);
|
|
||||||
dsRPFEGrid.SelectParameters.Clear();
|
|
||||||
AddSearch(sql, dsRPFEGrid, "RPPYN", _RPPYN, "", true);
|
|
||||||
sql.Append(order);
|
|
||||||
dsRPFEGrid.SelectCommand = sql.ToString();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private int CheckInsertInput(int index)
|
private int CheckInsertInput(int index)
|
||||||
@@ -229,9 +217,9 @@ public partial class forms_customer_fmRpfe : Wellan.Web.UI.WUserControlBase
|
|||||||
RPFEGrid.DataBind();
|
RPFEGrid.DataBind();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void dsRPFEGrid_Selected(object sender, SqlDataSourceStatusEventArgs e)
|
protected void dsRPFEGrid_Selected(object sender, ObjectDataSourceStatusEventArgs e)
|
||||||
{
|
{
|
||||||
if (e.AffectedRows == 0)
|
if (e.ReturnValue is Int32 && WDAC.GetInt32Value(e.ReturnValue) == 0)
|
||||||
{
|
{
|
||||||
//RPFEForm.ChangeMode(FormViewMode.Insert);
|
//RPFEForm.ChangeMode(FormViewMode.Insert);
|
||||||
//RPFEForm_ModeChanged(sender, e);
|
//RPFEForm_ModeChanged(sender, e);
|
||||||
|
|||||||
Reference in New Issue
Block a user