- 新增 BpjaDAC(SelectPage/SelectCount/SelectBPJAIndex) - dsBPJAGrid 改 ObjectDataSource;Search/Selected/DataBound 調整
282 lines
8.8 KiB
C#
282 lines
8.8 KiB
C#
using System;
|
|
using System.Data;
|
|
using System.Configuration;
|
|
using System.Collections;
|
|
using System.Web;
|
|
using System.Web.Security;
|
|
using System.Web.UI;
|
|
using System.Web.UI.WebControls;
|
|
using System.Web.UI.WebControls.WebParts;
|
|
using System.Web.UI.HtmlControls;
|
|
using System.Data.Common;
|
|
using Wellan.Data;
|
|
using Wellan.Common;
|
|
using System.Text;
|
|
using System.IO;
|
|
using System.Drawing;
|
|
|
|
/// <summary>
|
|
/// 年度職稱設定
|
|
/// </summary>
|
|
public partial class forms_customer_fmBpja : Wellan.Web.UI.WUserControlBase
|
|
{
|
|
protected string _BPNUM = "";
|
|
protected string _BPPYN = "";
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
//if (IsPostBack)
|
|
// gvBPJA.DataBind();
|
|
}
|
|
|
|
protected override void OnInit(EventArgs e)
|
|
{
|
|
base.OnInit(e);
|
|
dsBPJAForm.ConnectionString = ConnectionString;
|
|
|
|
_BPPYN = GetStringParam("BPPYN");
|
|
_BPNUM = GetStringParam("BPNUM");
|
|
|
|
GetGridViewRowColor(gvBPJA);
|
|
|
|
Search();
|
|
}
|
|
|
|
// 查詢動作
|
|
private new void Search()
|
|
{
|
|
dsBPJAGrid.SelectParameters["BPPYN"].DefaultValue = _BPPYN;
|
|
|
|
// 返回時,回到之前選擇的那一筆
|
|
if (ParamList != null && ParamList.ContainsKey("BPPYN") && ParamList.ContainsKey("BPJNO"))
|
|
{
|
|
int rowIndex = new BpjaDAC(Query).SelectBPJAIndex(
|
|
WDAC.GetStringValue(ParamList["BPPYN"]),
|
|
WDAC.GetStringValue(ParamList["BPJNO"]),
|
|
_BPPYN);
|
|
|
|
if (rowIndex >= 0)
|
|
{
|
|
gvBPJA.PageIndex = rowIndex / gvBPJA.PageSize;
|
|
gvBPJA.SelectedIndex = rowIndex - gvBPJA.PageIndex * gvBPJA.PageSize;
|
|
}
|
|
|
|
ParamList.Remove("BPJNO");
|
|
}
|
|
}
|
|
|
|
private new void CalcFields(SqlDataSourceCommandEventArgs e)
|
|
{
|
|
}
|
|
|
|
protected void dsBPJAForm_Inserting(object sender, SqlDataSourceCommandEventArgs e)
|
|
{
|
|
CalcFields(e);
|
|
e.Command.Parameters["@BPPYN"].Value = _BPPYN;
|
|
e.Command.Parameters["@BPJNO"].Value = WGuard1.WNextRen(DateTime.UtcNow.AddHours(8), "BPJA", "BPJNO", "<ZZ>", String.Format(" BPPYN='{0}'", _BPPYN));
|
|
}
|
|
|
|
protected void dsBPJAForm_Updating(object sender, SqlDataSourceCommandEventArgs e)
|
|
{
|
|
CalcFields(e);
|
|
}
|
|
|
|
protected void gvBPJA_DataBound(object sender, EventArgs e)
|
|
{
|
|
GridView_DataBound(sender, e);
|
|
if (gvBPJA.Rows.Count > 0)
|
|
{
|
|
if (gvBPJA.SelectedIndex == -1)
|
|
gvBPJA.SelectedIndex = 0;
|
|
|
|
fvBPJA.DataBind();
|
|
}
|
|
}
|
|
|
|
protected void gvBPJA_PageIndexChanged(object sender, EventArgs e)
|
|
{
|
|
Search();
|
|
gvBPJA.SelectedIndex = 0;
|
|
gvBPJA.DataBind();
|
|
}
|
|
|
|
protected void dsBPJAGrid_Selected(object sender, ObjectDataSourceStatusEventArgs e)
|
|
{
|
|
if (e.ReturnValue is Int32 && WDAC.GetInt32Value(e.ReturnValue) == 0)
|
|
{
|
|
fvBPJA.ChangeMode(FormViewMode.Insert);
|
|
fvBPJA_ModeChanged(sender, e);
|
|
}
|
|
}
|
|
|
|
protected void fvBPJA_ItemCommand(object sender, FormViewCommandEventArgs e)
|
|
{
|
|
switch (e.CommandName)
|
|
{
|
|
case "Insert":
|
|
break;
|
|
case "Edit":
|
|
break;
|
|
case "Cancel":
|
|
Search();
|
|
fvBPJA.ChangeMode(FormViewMode.ReadOnly);
|
|
fvBPJA_ModeChanged(sender, e);
|
|
if (gvBPJA.Rows.Count == 0)
|
|
DoAfterCommand("BPAA");
|
|
break;
|
|
case "Return":
|
|
DoAfterCommand("BPAA");
|
|
break;
|
|
case "Detail":
|
|
fvBPJA.DataBind();
|
|
if (fvBPJA.DataItem != null)
|
|
{
|
|
DataRowView rv = fvBPJA.DataItem as DataRowView;
|
|
ParamList["BPPYN"] = rv["BPPYN"];
|
|
ParamList["BPJNO"] = rv["BPJNO"];
|
|
ParamList["BPJME"] = rv["BPJME"];
|
|
DoAfterCommand("BPJB");
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
protected void fvBPJA_ItemDeleted(object sender, FormViewDeletedEventArgs e)
|
|
{
|
|
Search();
|
|
gvBPJA.DataBind();
|
|
if (gvBPJA.SelectedIndex > gvBPJA.Rows.Count - 1)
|
|
{
|
|
gvBPJA.SelectedIndex = gvBPJA.Rows.Count - 1;
|
|
gvBPJA.DataBind();
|
|
}
|
|
fvBPJA.DataBind();
|
|
}
|
|
|
|
protected void fvBPJA_ItemInserted(object sender, FormViewInsertedEventArgs e)
|
|
{
|
|
Search();
|
|
}
|
|
|
|
protected void fvBPJA_ItemUpdated(object sender, FormViewUpdatedEventArgs e)
|
|
{
|
|
Search();
|
|
}
|
|
|
|
protected void fvBPJA_ModeChanged(object sender, EventArgs e)
|
|
{
|
|
switch (fvBPJA.CurrentMode)
|
|
{
|
|
case FormViewMode.ReadOnly:
|
|
gvBPJA.Visible = true;
|
|
gvBPJA.DataBind();
|
|
if (gvBPJA.Rows.Count > 0)
|
|
{
|
|
if (gvBPJA.SelectedIndex == -1)
|
|
{
|
|
gvBPJA.SelectedIndex = 0;
|
|
}
|
|
|
|
if (OldMode == FormViewMode.Insert)
|
|
{
|
|
gvBPJA.PageIndex = gvBPJA.PageCount - 1;
|
|
gvBPJA.DataBind();
|
|
gvBPJA.SelectedIndex = gvBPJA.Rows.Count - 1;
|
|
}
|
|
gvBPJA.DataBind();
|
|
fvBPJA.DataBind();
|
|
}
|
|
break;
|
|
|
|
case FormViewMode.Edit:
|
|
gvBPJA.Visible = false;
|
|
break;
|
|
|
|
case FormViewMode.Insert:
|
|
gvBPJA.Visible = false;
|
|
break;
|
|
}
|
|
}
|
|
|
|
protected void fvBPJA_ModeChanging(object sender, FormViewModeEventArgs e)
|
|
{
|
|
OldMode = (sender as FormView).CurrentMode;
|
|
}
|
|
|
|
protected void fvBPJA_DataBound(object sender, EventArgs e)
|
|
{
|
|
switch (fvBPJA.CurrentMode)
|
|
{
|
|
case FormViewMode.Edit:
|
|
Control ddlBPJA_BPCLS = fvBPJA.FindControl("ddlBPJA_BPCLS");
|
|
RegisterLookupEvent(fvBPJA, "txtBPJA_BPJME_WQRY", "txtBPJA_BPJME", "txtBPJA_BPJME", "BCLS_BPJA_BPNAM", " BSCLS LIKE '\" + document.getElementById(\"" + ddlBPJA_BPCLS.ClientID + "\").value + \"%'");
|
|
SetClientFocus(fvBPJA, "txtBPJA_BPJME");
|
|
break;
|
|
case FormViewMode.Insert:
|
|
ddlBPJA_BPCLS = fvBPJA.FindControl("ddlBPJA_BPCLS");
|
|
RegisterLookupEvent(fvBPJA, "txtBPJA_BPJME_WQRY", "txtBPJA_BPJME", "txtBPJA_BPJME", "BCLS_BPJA_BPNAM", " BSCLS LIKE '\" + document.getElementById(\"" + ddlBPJA_BPCLS.ClientID + "\").value + \"%'");
|
|
SetClientFocus(fvBPJA, "txtBPJA_BPJME");
|
|
break;
|
|
}
|
|
}
|
|
|
|
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
|
|
{
|
|
CustomValidator v = source as CustomValidator;
|
|
int i;
|
|
args.IsValid = args.Value != "" && int.TryParse(args.Value, out i) && i > 0;
|
|
}
|
|
|
|
protected void fvBPJA_ItemCreated(object sender, EventArgs e)
|
|
{
|
|
switch (fvBPJA.CurrentMode)
|
|
{
|
|
case FormViewMode.Insert:
|
|
(fvBPJA.FindControl("lbBPJA_BPPYN") as ITextControl).Text = _BPPYN;
|
|
break;
|
|
}
|
|
}
|
|
|
|
protected void gvBPJA_RowDataBound(object sender, GridViewRowEventArgs e)
|
|
{
|
|
SetGridViewMouseBehavier(gvBPJA, e.Row);
|
|
//GridView_RowDataBound_Shrink_ViewState(sender, e);
|
|
}
|
|
|
|
protected void gvBPJA_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
foreach (GridViewRow row in gvBPJA.Rows)
|
|
SetGridViewMouseBehavier(gvBPJA, row);
|
|
}
|
|
|
|
protected void fvBPJA_ItemDeleting(object sender, FormViewDeleteEventArgs e)
|
|
{
|
|
// 刪除前檢查
|
|
// 1. 是否已有科目設定
|
|
DbCommand cmd1 = Query.NewCommand("SELECT COUNT(1) FROM BPJB WHERE BPPYN=@BPPYN AND BPJNO=@BPJNO");
|
|
cmd1.Parameters.Add(Query.NewParameter("BPPYN", e.Values["BPPYN"]));
|
|
cmd1.Parameters.Add(Query.NewParameter("BPJNO", e.Values["BPJNO"]));
|
|
int i = Convert.ToInt32(Query.ExecuteScalar(cmd1));
|
|
cmd1.Dispose();
|
|
if (i > 0)
|
|
{
|
|
cvMessage.ErrorMessage = "本職稱已有等級設定。不可刪除!";
|
|
cvMessage.IsValid = false;
|
|
e.Cancel = true;
|
|
}
|
|
|
|
// 2. 是否有派遣人員使用此職稱
|
|
DbCommand cmd2 = Query.NewCommand("SELECT COUNT(1) FROM RASN WHERE RAPYN=@BPPYN AND RAJNO=@BPJNO");
|
|
cmd2.Parameters.Add(Query.NewParameter("BPPYN", e.Values["BPPYN"]));
|
|
cmd2.Parameters.Add(Query.NewParameter("BPJNO", e.Values["BPJNO"]));
|
|
i = Convert.ToInt32(Query.ExecuteScalar(cmd2));
|
|
cmd2.Dispose();
|
|
if (i > 0)
|
|
{
|
|
cvMessage.ErrorMessage = "本職稱已有派遣人員使用。不可刪除!";
|
|
cvMessage.IsValid = false;
|
|
e.Cancel = true;
|
|
}
|
|
}
|
|
}
|