chore: 首次簽入 Thinkyu ASP.NET 專案

- 加入 Visual Studio / ASP.NET .gitignore
- 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
This commit is contained in:
2026-09-10 09:42:37 +08:00
commit 577060bc78
2496 changed files with 501389 additions and 0 deletions
@@ -0,0 +1,26 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/PopupForm2.Master" AutoEventWireup="true" CodeBehind="ClassPicture.aspx.cs" Inherits="Education.Forms.辦訓狀況.ClassPicture" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:ObjectDataSource ID="ds課程剪影" runat="server"
OldValuesParameterFormatString="original_{0}"
SelectMethod="SelectBy課程企劃編號" TypeName="Education.DAC_課程剪影">
<SelectParameters>
<asp:QueryStringParameter Name="課程企劃編號" QueryStringField="id" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:Repeater ID="rp課程剪影" runat="server" DataSourceID="ds課程剪影">
<ItemTemplate>
<div style="float: left; margin: 5px; width: 250px; overflow:hidden">
<div style="clear: both; text-align: center;">
<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl='<%# String.Format(Education.PublicVariable.課程剪影路徑 + "{0}/T_{1:000000}.jpg", Eval("課程企劃編號"), Eval("照片序號")) %>' />
</div>
<div style="clear: both; text-align: center;">
<asp:LinkButton ID="LinkButton1" runat="server" Text='<%# Eval("照片說明") %>'
OnClientClick='<%# GetOpenWindowJS("~/Forms/Common/ShowLargePicture.aspx", "_classpicturelarge", "pic", String.Format(Education.PublicVariable.課程剪影路徑 + "{0}/{1:000000}.jpg", Eval("課程企劃編號"), Eval("照片序號"))) %>'></asp:LinkButton>
</div>
</div>
</ItemTemplate>
</asp:Repeater>
</asp:Content>
@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Education.Forms.
{
public partial class ClassPicture : FormBase
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
}
@@ -0,0 +1,35 @@
//------------------------------------------------------------------------------
// <自動產生>
// 這段程式碼是由工具產生的。
//
// 變更這個檔案可能會導致不正確的行為,而且如果已重新產生
// 程式碼,則會遺失變更。
// </自動產生>
//------------------------------------------------------------------------------
namespace Education.Forms.
{
public partial class ClassPicture
{
/// <summary>
/// ds課程剪影 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds課程剪影;
/// <summary>
/// rp課程剪影 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Repeater rp課程剪影;
}
}
@@ -0,0 +1,21 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UC出席狀況.ascx.cs" Inherits="Education.Forms.辦訓狀況.UC出席狀況" %>
<asp:ObjectDataSource ID="ds出席" runat="server" OldValuesParameterFormatString="original_{0}"
SelectMethod="Select" TypeName="Education.DAC_學員出席"
OnSelected="ds出席_Selected">
<SelectParameters>
<asp:Parameter Name="學員編號" Type="String"></asp:Parameter>
<asp:Parameter Name="訓練課程編號" Type="Int32"></asp:Parameter>
</SelectParameters>
</asp:ObjectDataSource>
<asp:DataList ID="dl出席狀況" runat="server" RepeatDirection="Horizontal"
DataSourceID="ds出席" CellPadding="3" RepeatColumns="2" >
<ItemStyle HorizontalAlign="Left" />
<ItemTemplate>
<asp:Label ID="lbDate" runat="server" Text='<%# Eval("課程日期", "{0:yyyy-MM-dd}") %>'></asp:Label>
<asp:Label ID="lbPresent" runat="server" Font-Bold="true" Text='<%# Get出席狀況Text(Eval("出席狀況", "{0}")) %>'
ForeColor='<%# Get出席狀況Color(Eval("出席狀況", "{0}")) %>'></asp:Label>
<asp:Label ID="lbReason" runat="server" Text='<%# Eval("請假事由", "{0}").Length > 0 ? "(" + Eval("請假事由", "{0}") + ")" : "" %>'></asp:Label>
</ItemTemplate>
</asp:DataList>
<asp:Label runat="server" ID="lb未填寫" Visible="false" EnableViewState="false">(未填寫出席狀況)</asp:Label>
@@ -0,0 +1,89 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
namespace Education.Forms.
{
public partial class UC出席狀況 : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
[Bindable(true)]
private string _學員編號;
public string
{
get
{
return _學員編號;
}
set
{
ds出席.SelectParameters["學員編號"].DefaultValue = value;
_學員編號 = value;
}
}
[Bindable(true)]
private int _訓練課程編號;
public int
{
get
{
return _訓練課程編號;
}
set
{
ds出席.SelectParameters["訓練課程編號"].DefaultValue = value.ToString();
_訓練課程編號 = value;
}
}
protected string Get出席狀況Text(string )
{
switch ()
{
case "Y":
return "出席";
case "N":
return "缺席";
case "L":
return "請假";
default:
return "";
}
}
protected System.Drawing.Color Get出席狀況Color(string )
{
switch ()
{
case "Y":
return System.Drawing.Color.Green;
case "N":
return System.Drawing.Color.Red;
case "L":
return System.Drawing.Color.Magenta;
default:
return System.Drawing.Color.Black;
}
}
protected void ds出席_Selected(object sender, ObjectDataSourceStatusEventArgs e)
{
lb未填寫.Visible = false;
if (e.ReturnValue is List list && list.Count == 0)
{
lb未填寫.Visible = true;
}
}
}
}
@@ -0,0 +1,44 @@
//------------------------------------------------------------------------------
// <自動產生>
// 這段程式碼是由工具產生的。
//
// 變更這個檔案可能會導致不正確的行為,而且如果已重新產生
// 程式碼,則會遺失變更。
// </自動產生>
//------------------------------------------------------------------------------
namespace Education.Forms.
{
public partial class UC出席狀況
{
/// <summary>
/// ds出席 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds出席;
/// <summary>
/// dl出席狀況 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.DataList dl出席狀況;
/// <summary>
/// lb未填寫 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lb未填寫;
}
}
@@ -0,0 +1,110 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site2.Master" AutoEventWireup="true"
CodeBehind="學員出席登錄.aspx.cs" Inherits="Education.Forms.辦訓狀況.學員出席登錄" %>
<%@ Register Assembly="WebLib" Namespace="WebLib" TagPrefix="weblib" %>
<%@ Register Src="../Common/訓練企劃搜尋.ascx" TagName="訓練企劃搜尋" TagPrefix="uc1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:ObjectDataSource ID="ds計畫" runat="server" OldValuesParameterFormatString="original_{0}"
SelectMethod="Select確定報名學員計畫" TypeName="Education.DAC_課程報名" OnObjectCreating="ds報名學員_ObjectCreating">
<SelectParameters>
<asp:ControlParameter ControlID="訓練企劃搜尋" Name="訓練課程編號" PropertyName="訓練企劃編號"
Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds報名學員" runat="server" OldValuesParameterFormatString="original_{0}"
SelectMethod="Select確定報名學員名單" TypeName="Education.DAC_課程報名" OnObjectCreating="ds報名學員_ObjectCreating">
<SelectParameters>
<asp:ControlParameter ControlID="訓練企劃搜尋" Name="訓練課程編號" PropertyName="訓練企劃編號"
Type="Int32" />
<asp:ControlParameter ControlID="ddl計畫" Name="計畫年度編號" PropertyName="SelectedValue"
Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds課程日期" runat="server"
OldValuesParameterFormatString="original_{0}" SelectMethod="Select訓練日期List"
TypeName="Education.DAC_訓練課程內容">
<SelectParameters>
<asp:ControlParameter ControlID="訓練企劃搜尋" Name="訓練課程編號"
PropertyName="訓練企劃編號" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<uc1:訓練企劃搜尋 ID="訓練企劃搜尋" runat="server" 包含已結案="True" OnClick="btn查詢_Click"
訓練企劃狀態="已上課未結案" />
<asp:Label ID="lbMessage" runat="server" CssClass="ErrorMessage" EnableViewState="False"></asp:Label>
<asp:Panel ID="Panel1" runat="server" Visible="false">
<table>
<tr>
<td class="caption">
<asp:Label ID="Label25" runat="server" Text="計畫"></asp:Label></td>
<td class="datainput">
<weblib:WDropDownList ID="ddl計畫" runat="server" DataSourceID="ds計畫" DataTextField="計畫年度名稱"
DataValueField="計畫年度編號">
</weblib:WDropDownList>
<asp:LinkButton ID="btn查詢學員" runat="server" CssClass="button blue100" OnClick="btn查詢學員_Click">查詢學員</asp:LinkButton>
&nbsp;<asp:Label ID="lbMessage1" runat="server" CssClass="ErrorMessage" EnableViewState="False"></asp:Label>
</td>
</tr>
</table>
<asp:LinkButton ID="btnSave1" runat="server" CssClass="button blue100" OnClick="btnSave_Click">確定儲存</asp:LinkButton>
<asp:Label ID="lbMessage2" runat="server" CssClass="ErrorMessage"
EnableViewState="False"></asp:Label>
<asp:GridView ID="gv學員" runat="server" AutoGenerateColumns="False" DataSourceID="ds報名學員"
EnableModelValidation="True" DataKeyNames="訓練課程編號,學員編號">
<Columns>
<asp:BoundField HeaderText="員工編號" DataField="學員編號" SortExpression="學員編號">
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:TemplateField HeaderText="學員姓名">
<ItemTemplate>
<asp:Label ID="lb學員姓名" runat="server" Text='<%# Bind("學員姓名") %>'></asp:Label>
<%-- <asp:Label ID="hf學員編號" runat="server" Text='<%# Bind("學員編號") %>' />--%>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:BoundField HeaderText="單位" DataField="站別名稱" SortExpression="站別名稱">
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField HeaderText="職務" DataField="職務名稱" SortExpression="職務名稱">
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:TemplateField HeaderText="出席狀況">
<ItemTemplate>
<asp:GridView ID="gv出席狀況" runat="server" ShowHeader="False" DataSourceID="ds課程日期"
AutoGenerateColumns="False" EnableModelValidation="True" OnRowDataBound="gv出席狀況_RowDataBound">
<Columns>
<asp:BoundField DataField="Date" DataFormatString="{0:yyyy-MM-dd}" />
<asp:TemplateField>
<ItemTemplate>
<table>
<tr>
<td>
<asp:RadioButtonList runat="server" ID="rb出席狀況" RepeatLayout="Flow" RepeatDirection="Horizontal">
<asp:ListItem Value="" Enabled="false">未填寫</asp:ListItem>
<asp:ListItem Value="Y"><span style="color:green; font-weight:bold; margin-right:10px">出席</span></asp:ListItem>
<asp:ListItem Value="N"><span style="color:red; font-weight:bold; margin-right:10px">缺席</span></asp:ListItem>
<asp:ListItem Value="L"><span style="color:magenta; font-weight:bold;">請假</span></asp:ListItem>
</asp:RadioButtonList></td>
<td style="padding-left: 15px">
<asp:Label ID="Label1" runat="server" Text="請假事由"></asp:Label></td>
<td>
<asp:TextBox ID="txt請假原因" runat="server" Columns="40" MaxLength="100"></asp:TextBox>
<asp:Label ID="lbMessage" runat="server" CssClass="ErrorMessage" EnableViewState="False"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:LinkButton ID="btnSave2" runat="server" CssClass="button blue100" OnClick="btnSave_Click">確定儲存</asp:LinkButton>
<asp:Label ID="lbMessage3" runat="server" CssClass="ErrorMessage"
EnableViewState="False"></asp:Label>
</asp:Panel>
</asp:Content>
@@ -0,0 +1,173 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Transactions;
using WebLib;
namespace Education.Forms.
{
public partial class : FormBase
{
private DAC_學員出席 Dao學員出席;
protected void Page_Init(object sender, EventArgs e)
{
Dao學員出席 = new DAC_學員出席(conn);
}
protected void Page_Load(object sender, EventArgs e)
{
FunctionName = "學員出席登錄";
if (IsPostBack)
{
gv學員.DataBind();
}
}
protected void btn查詢_Click(object sender, EventArgs e)
{
if (. == 0)
{
Panel1.Visible = false;
lbMessage.Text = "請選擇課程企劃";
return;
}
Panel1.Visible = true;
ddl計畫.DataBind();
gv學員.DataBind();
}
protected void btn查詢學員_Click(object sender, EventArgs e)
{
gv學員.DataBind();
}
protected void btnSave_Click(object sender, EventArgs e)
{
GridView gv出席狀況;
RadioButtonList rb出席狀況;
TextBox txt請假原因;
List values = new List();
// 檢查是否有請假原因沒有填寫的
bool valid = true;
foreach (GridViewRow r in gv學員.Rows)
{
if (r.RowType != DataControlRowType.DataRow)
continue;
gv出席狀況 = FindControl<GridView>(r.Cells[4], "gv出席狀況");
if (gv出席狀況 != null)
{
foreach (GridViewRow r1 in gv出席狀況.Rows)
{
if (r1.RowType != DataControlRowType.DataRow)
continue;
rb出席狀況 = FindControl<RadioButtonList>(r1.Cells[1], "rb出席狀況");
txt請假原因 = FindControl<TextBox>(r1.Cells[1], "txt請假原因");
if (rb出席狀況.SelectedValue == "")
{
valid = false;
FindControl<ITextControl>(r1.Cells[1], "lbMessage").Text = "請選擇出席狀況";
}
else if (rb出席狀況.SelectedValue == "L" && txt請假原因.Text.Trim().Length == 0)
{
valid = false;
FindControl<ITextControl>(r1.Cells[1], "lbMessage").Text = "請填寫請假原因";
}
else
{
values.Add(new ()
{
= .,
= DAC.GetDateTime(r1.Cells[0].Text),
= r.Cells[0].Text,
= rb出席狀況.SelectedValue,
= txt請假原因.Text
});
}
}
}
}
if (!valid)
{
lbMessage2.Text = "有部份填寫不完全,請填寫完全之後再確定儲存!";
lbMessage3.Text = "有部份填寫不完全,請填寫完全之後再確定儲存!";
return;
}
using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required))
{
foreach ( item in values)
{
Dao學員出席.Update(item);
}
ts.Complete();
}
lbMessage2.Text = "儲存完畢!";
lbMessage3.Text = "儲存完畢!";
/*
foreach (GridViewRow r in gv學員.Rows)
{
if (r.RowType != DataControlRowType.DataRow)
continue;
學員編號 = r.Cells[0].Text;
rb出席狀況 = FindControl<RadioButtonList>(r.Cells[4], "rb出席狀況");
txt請假原因 = FindControl<TextBox>(r.Cells[4], "txt請假原因");
Dao課程報名.Update出席狀況(學員編號, DAC.GetInt32(ddl課程企劃.SelectedValue), rb出席狀況.SelectedValue, txt請假原因.Text, UserId);
}
*/
}
protected void ds已上課_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao訓練課程企劃;
}
protected void ds報名學員_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao課程報名;
}
protected void gv出席狀況_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType != DataControlRowType.DataRow)
return;
RadioButtonList rb出席狀況 = FindControl<RadioButtonList>(e.Row.Cells[1], "rb出席狀況");
rb出席狀況.Items[0].Attributes["style"] = "display:none";
TextBox txt請假原因 = FindControl<TextBox>(e.Row.Cells[1], "txt請假原因");
string = DAC.GetString((((sender as Control).Parent.Parent as GridViewRow).DataItem as System.Data.DataRowView)[0]);
int = .;
DateTime = DAC.GetDateTime(e.Row.DataItem).Date;
List d = Dao學員出席.SelectOne(, , );
if (d.Count > 0)
{
rb出席狀況.SelectedValue = d[0].;
txt請假原因.Text = d[0].;
}
else
{
rb出席狀況.SelectedValue = "";
txt請假原因.Text = "";
}
}
}
}
@@ -0,0 +1,152 @@
//------------------------------------------------------------------------------
// <自動產生>
// 這段程式碼是由工具產生的。
//
// 變更這個檔案可能會導致不正確的行為,而且如果已重新產生
// 程式碼,則會遺失變更。
// </自動產生>
//------------------------------------------------------------------------------
namespace Education.Forms.
{
public partial class
{
/// <summary>
/// ds計畫 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds計畫;
/// <summary>
/// ds報名學員 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds報名學員;
/// <summary>
/// ds課程日期 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds課程日期;
/// <summary>
/// 訓練企劃搜尋 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::Education.Forms.Common. ;
/// <summary>
/// lbMessage 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbMessage;
/// <summary>
/// Panel1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Panel Panel1;
/// <summary>
/// Label25 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label25;
/// <summary>
/// ddl計畫 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::WebLib.WDropDownList ddl計畫;
/// <summary>
/// btn查詢學員 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btn查詢學員;
/// <summary>
/// lbMessage1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbMessage1;
/// <summary>
/// btnSave1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btnSave1;
/// <summary>
/// lbMessage2 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbMessage2;
/// <summary>
/// gv學員 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.GridView gv學員;
/// <summary>
/// btnSave2 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btnSave2;
/// <summary>
/// lbMessage3 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbMessage3;
}
}
@@ -0,0 +1,311 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site2.Master" AutoEventWireup="true"
CodeBehind="年度課程執行狀況.aspx.cs" Inherits="Education.Forms.辦訓狀況.年度課程執行狀況" %>
<%@ Register Assembly="WebLib" Namespace="WebLib" TagPrefix="weblib" %>
<%@ Register Src="~/Forms/檢視UC/訓練課程企劃書View.ascx" TagPrefix="uc1" TagName="訓練課程企劃書View" %>
<%@ Register Src="~/Forms/檢視UC/教學日誌暨異常狀況View.ascx" TagPrefix="uc1" TagName="教學日誌暨異常狀況View" %>
<%@ Register Src="~/Forms/檢視UC/場地遴選View.ascx" TagPrefix="uc1" TagName="場地遴選View" %>
<%@ Register Src="../檢視UC/訓練檢討報告View.ascx" TagName="訓練檢討報告View" TagPrefix="uc2" %>
<%@ Register Src="~/Forms/Common/起訖日顯示.ascx" TagPrefix="uc1" TagName="起訖日顯示" %>
<%@ Register Src="../檢視UC/滿意度分析View.ascx" TagName="滿意度分析View" TagPrefix="uc3" %>
<%@ Register Src="UC出席狀況.ascx" TagName="UC出席狀況" TagPrefix="uc4" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<script type="text/javascript">
function changeTab(id)
{
$("a[name='tabButton']").each(function ()
{
$(this).attr("class", "tabButton");
})
$("div[name='page']").each(function ()
{
$(this).css("display", "none");
})
$("#tabButton" + id).attr("class", "tabButtonSelected");
$("#page" + id).css("display", "block");
}
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:ObjectDataSource ID="ds訓練企劃" runat="server"
OldValuesParameterFormatString="original_{0}" SelectMethod="Select年度企劃"
TypeName="Education.DAC_訓練課程企劃" OnObjectCreating="ds訓練企劃_ObjectCreating">
<SelectParameters>
<asp:SessionParameter Name="公司別" SessionField="CompanyId" Type="String" />
<asp:ControlParameter ControlID="txtYear" Name="Year" PropertyName="Text"
Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<div>
<table>
<tr>
<td>
<asp:Label ID="Label1" runat="server" Text="年度"></asp:Label>
</td>
<td>
<asp:TextBox ID="txtYear" runat="server" MaxLength="4" Columns="4"></asp:TextBox>
</td>
<td>
<asp:LinkButton ID="btnSearch" runat="server" CssClass="button blue60"
OnClick="btnSearch_Click">查詢</asp:LinkButton>
</td>
<td>
<asp:Label ID="Label3" runat="server" Text="&nbsp;&nbsp;&nbsp;報表選擇"></asp:Label>
</td>
<td>
<weblib:WDropDownList ID="ddReport" runat="server">
<asp:ListItem Text="年度課程執行狀況報表(已開課)" Value="1" Selected="True"></asp:ListItem>
<asp:ListItem Text="年度課程報表(含未開課及已開課)" Value="2"></asp:ListItem>
</weblib:WDropDownList>
</td>
<td>
<asp:LinkButton ID="btnPrint" runat="server" CssClass="button blue60"
OnClick="btnPrint_Click">列印</asp:LinkButton>
<asp:Label runat="server" ID="lbMessage" EnableViewState="false" CssClass="ErrorMessage"></asp:Label>
</td>
</tr>
</table>
</div>
<asp:GridView ID="gv訓練企劃" runat="server" AutoGenerateColumns="False"
DataKeyNames="編號" DataSourceID="ds訓練企劃"
EnableModelValidation="True" Width="100%" AllowPaging="True" PageSize="5">
<Columns>
<asp:TemplateField HeaderText="課程企劃編號名稱" SortExpression="編號">
<ItemTemplate>
<asp:Label ID="Label01" runat="server" Text='<%# Bind("顯示編號", "[{0}]") %>'></asp:Label>
<asp:Label ID="Label02" runat="server" Text='<%# Bind("訓練名稱") %>'></asp:Label>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False"
CommandName="Select" Text=""></asp:LinkButton>
</ItemTemplate>
<HeaderStyle />
<ItemStyle HorizontalAlign="Left" CssClass="minwidth200" />
</asp:TemplateField>
<asp:TemplateField HeaderText="訓練日期">
<ItemTemplate>
<uc1:起訖日顯示 runat="server" ID="起訖日顯示" 起日='<%# Eval("訓練日期") %>' 迄日='<%# Eval("訓練日期迄") %>'
Format="yyyyMMdd" />
</ItemTemplate>
<HeaderStyle Width="5em" />
<ItemStyle HorizontalAlign="Center" CssClass="minwidth80" />
</asp:TemplateField>
<asp:TemplateField HeaderText="訓練目標" SortExpression="訓練目標">
<ItemTemplate>
<asp:Label ID="Label21" runat="server"
Text='<%# Eval("訓練目標", "{0}").Replace("\r\n", "<br>").Replace("\r", "<br>").Replace("\n", "<br>") %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" />
</asp:TemplateField>
<asp:TemplateField HeaderText="教學方法" SortExpression="教學方法">
<ItemTemplate>
<asp:Label ID="Label31" runat="server"
Text='<%# Eval("教學方法", "{0}").Replace("\r\n", "<br>").Replace("\r", "<br>").Replace("\n", "<br>") %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" CssClass="minwidth160" />
</asp:TemplateField>
<asp:TemplateField HeaderText="異常情形">
<ItemTemplate>
<asp:Label ID="lb異常情形" runat="server"
Text='<%# Get異常情形(Eval("編號")) %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" CssClass="minwidth160" />
</asp:TemplateField>
<asp:TemplateField HeaderText="承辦" SortExpression="承辦">
<ItemTemplate>
<asp:Label ID="Label41" runat="server" Text='<%# Bind("承辦") %>'></asp:Label><br />
<asp:Label ID="Label42" runat="server" Text='<%# Get員工姓名(Eval("承辦")) %>'></asp:Label>
</ItemTemplate>
<HeaderStyle Width="4em" />
<ItemStyle HorizontalAlign="Center" CssClass="minwidth60" />
</asp:TemplateField>
<asp:BoundField DataField="人數" HeaderText="人數" SortExpression="人數">
<HeaderStyle Width="3em" />
<ItemStyle HorizontalAlign="Center" CssClass="minwidth60" />
</asp:BoundField>
<asp:TemplateField HeaderText="已取消">
<ItemTemplate>
<asp:Label ID="Label61" runat="server" Text='<%# Eval("已取消", "{0}") == "Y" ? "是" : "否" %>'></asp:Label><br />
</ItemTemplate>
<HeaderStyle Width="3em" />
<ItemStyle HorizontalAlign="Center" CssClass="minwidth60" />
</asp:TemplateField>
<asp:TemplateField HeaderText="已結案">
<ItemTemplate>
<asp:Label ID="Label71" runat="server" Text='<%# Eval("已結案", "{0}") == "Y" ? "是" : "否" %>'></asp:Label><br />
</ItemTemplate>
<HeaderStyle Width="3em" />
<ItemStyle HorizontalAlign="Center" CssClass="minwidth60" />
</asp:TemplateField>
</Columns>
<PagerTemplate>
<weblib:GridViewPager ID="GridViewPager1" runat="server" CanChangePageSize="True"
PageSizeList="5,10,15,20" />
</PagerTemplate>
<PagerStyle HorizontalAlign="Left" />
<EmptyDataTemplate>
<asp:Label runat="server" ID="lbNoData" CssClass="ErrorMessage" Text="此年度沒有訓練企劃"></asp:Label>
</EmptyDataTemplate>
</asp:GridView>
<asp:Panel ID="pnlDetail" runat="server">
<div style="border-bottom: 1px solid gray; margin-top: 1em;">
<asp:LinkButton ID="btnPage1" runat="server" CssClass="tabButtonSelected">課程企劃與課程內容</asp:LinkButton>
<asp:LinkButton ID="btnPage2" runat="server" CssClass="tabButton">授課對象</asp:LinkButton>
<asp:LinkButton ID="btnPage3" runat="server" CssClass="tabButton">課程經費</asp:LinkButton>
<asp:LinkButton ID="btnPage4" runat="server" CssClass="tabButton">出席率及滿意度</asp:LinkButton>
<asp:LinkButton ID="btnPage5" runat="server" CssClass="tabButton">教學日誌暨異常</asp:LinkButton>
</div>
<asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="0">
<asp:View ID="View1" runat="server">
<uc1:訓練課程企劃書View runat="server" ID="訓練課程企劃書View1" 單號='<%# gv訓練企劃.SelectedValue %>' />
</asp:View>
<asp:View ID="View2" runat="server">
<asp:ObjectDataSource ID="ds報名學員" runat="server"
OldValuesParameterFormatString="original_{0}" SelectMethod="Select確定報名學員名單"
TypeName="Education.DAC_課程報名">
<SelectParameters>
<asp:ControlParameter ControlID="gv訓練企劃" Name="訓練課程編號"
PropertyName="SelectedValue" Type="Int32" />
<asp:Parameter Name="計畫年度編號" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:GridView ID="gv報名學員" runat="server" AllowPaging="True"
AutoGenerateColumns="False" DataSourceID="ds報名學員" EnableModelValidation="True"
Width="100%">
<Columns>
<asp:TemplateField HeaderText="學員">
<ItemTemplate>
<asp:Label ID="Label11" runat="server" Text='<%# Eval("學員編號") %>'></asp:Label>&nbsp;
<asp:Label ID="Label12" runat="server" Text='<%# Eval("學員姓名") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle Width="8em" />
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="計畫名稱">
<ItemTemplate>
<asp:Label ID="Label21" runat="server" Text='<%# Eval("計畫年度名稱") %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" />
</asp:TemplateField>
<asp:TemplateField HeaderText="站別">
<ItemTemplate>
<asp:Label ID="Label31" runat="server" Text='<%# Eval("站別名稱") %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="職務">
<ItemTemplate>
<asp:Label ID="Label41" runat="server" Text='<%# Eval("職務名稱") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle Width="6em" />
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="出席狀況">
<ItemTemplate>
<uc4:UC出席狀況 ID="UC出席狀況1" runat="server" 訓練課程編號='<%# Bind("訓練課程編號") %>' 學員編號='<%# Bind("學員編號") %>' />
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="請假事由">
<ItemTemplate>
<asp:Label ID="Label61" runat="server" Text='<%# Eval("請假事由") %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" />
</asp:TemplateField>
</Columns>
<PagerTemplate>
<weblib:GridViewPager ID="GridViewPager2" runat="server" />
</PagerTemplate>
</asp:GridView>
</asp:View>
<asp:View ID="View3" runat="server">
<asp:ObjectDataSource ID="ds課程經費" runat="server"
OldValuesParameterFormatString="original_{0}" SelectMethod="Select"
TypeName="Education.DAC_課程經費" DataObjectTypeName="Education.課程經費">
<SelectParameters>
<asp:ControlParameter ControlID="gv訓練企劃" Name="訓練課程企劃編號"
PropertyName="SelectedValue" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:GridView ID="gv課程經費" runat="server" AllowPaging="True"
AutoGenerateColumns="False" CssClass="fixedwithborder"
DataKeyNames="訓練課程企劃編號,單據序號,DB_APPNO" DataSourceID="ds課程經費"
EnableModelValidation="True" Width="100%" ShowFooter="true">
<Columns>
<asp:TemplateField HeaderText="序號">
<ItemTemplate>
<asp:Label ID="Label11" runat="server" Text='<%# Eval("單據序號") %>'>
</asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:Label ID="Label12" runat="server" Text="支出合計">
</asp:Label>
</FooterTemplate>
<HeaderStyle Width="4.5em" />
<ItemStyle HorizontalAlign="Center" />
<FooterStyle HorizontalAlign="Center" Font-Bold="true" />
</asp:TemplateField>
<asp:TemplateField HeaderText="收支" SortExpression="收支">
<ItemTemplate>
<asp:Label ID="Label21" runat="server"
ForeColor='<%# Eval("收支", "{0}") == "收" ? System.Drawing.Color.Green : System.Drawing.Color.Red %>'
Text='<%# Eval("收支", "{0}") == "收" ? "收入" : "支出" %>'>
</asp:Label>
</ItemTemplate>
<HeaderStyle Width="4em" />
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="金額" SortExpression="金額">
<ItemTemplate>
<asp:Label ID="Label31" runat="server" Text='<%# Eval("金額", "{0:###,##0}") %>'></asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:Label ID="Label32" runat="server" Text='<%# Get支出合計() %>'></asp:Label>
</FooterTemplate>
<FooterStyle HorizontalAlign="Right" Font-Bold="true" />
<HeaderStyle Width="6em" />
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField HeaderText="摘要" SortExpression="摘要">
<ItemTemplate>
<asp:Label ID="Label41" runat="server" Text='<%# Bind("摘要") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerTemplate>
<weblib:GridViewPager ID="GridViewPager3" runat="server" />
</PagerTemplate>
</asp:GridView>
</asp:View>
<asp:View ID="View4" runat="server">
<uc2:訓練檢討報告View ID="訓練檢討報告View1" runat="server" 單號='<%# gv訓練企劃.SelectedValue %>' />
<uc3:滿意度分析View ID="滿意度分析View1" runat="server" 訓練課程企劃編號='<%# gv訓練企劃.SelectedValue %>' />
</asp:View>
<asp:View ID="View5" runat="server">
<asp:ObjectDataSource ID="ds教學日誌" runat="server"
OldValuesParameterFormatString="original_{0}" SelectMethod="SelectBy課程企劃"
TypeName="Education.DAC_教學日誌" OnObjectCreating="ds教學日誌_ObjectCreating">
<SelectParameters>
<asp:ControlParameter ControlID="gv訓練企劃" Name="課程企劃編號"
PropertyName="SelectedValue" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<table>
<tr>
<td class="caption" style="width: 100px">
<asp:Label ID="Label2" runat="server" Text="節次"></asp:Label>
</td>
<td class="datainput">
<asp:DropDownList ID="ddl教學日誌節次" runat="server" AutoPostBack="True"
OnSelectedIndexChanged="ddl教學日誌節次_SelectedIndexChanged">
</asp:DropDownList>
</td>
</tr>
</table>
<uc1:教學日誌暨異常狀況View ID="教學日誌暨異常狀況View1" runat="server" />
</asp:View>
</asp:MultiView>
</asp:Panel>
</asp:Content>
@@ -0,0 +1,192 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.IO;
using System.Text;
using WebLib;
namespace Education.Forms.
{
public partial class : FormBase
{
protected void Page_Init(object sender, EventArgs e)
{
FunctionName = "年度課程執行狀況";
txtYear.Text = DateTime.UtcNow.AddHours(8).Date.Year.ToString();
}
protected void Page_Load(object sender, EventArgs e)
{
Grid_View = gv訓練企劃;
GridView_DataSource = ds訓練企劃;
AddTabButton(MultiView1, View1, btnPage1);
AddTabButton(MultiView1, View2, btnPage2);
AddTabButton(MultiView1, View3, btnPage3);
AddTabButton(MultiView1, View4, btnPage4);
AddTabButton(MultiView1, View5, btnPage5);
gv訓練企劃.DataBind();
RefreshPage();
RegisterPostbackTrigger(btnPrint);
}
protected override void GridView_SelectedIndexChanged(object sender, EventArgs e)
{
base.GridView_SelectedIndexChanged(sender, e);
RefreshPage();
}
protected override void GridView_PageIndexChanged(object sender, EventArgs e)
{
base.GridView_PageIndexChanged(sender, e);
RefreshPage();
}
protected override void AfterChangeTab()
{
base.AfterChangeTab();
RefreshPage();
}
private void RefreshPage()
{
pnlDetail.Visible = Grid_View.SelectedValue != null;
if (pnlDetail.Visible)
{
View1. = DAC.GetString(Grid_View.SelectedValue);
View1.DataBind();
gv報名學員.DataBind();
gv課程經費.DataBind();
View1.DataBind();
滿View1.DataBind();
Bind教學日誌節次();
}
}
private void Bind教學日誌節次()
{
int = DAC.GetInt32(Grid_View.SelectedValue);
ddl教學日誌節次.Items.Clear();
if ( > 0)
{
DataTable dt = new DAC_教學日誌(conn).SelectBy課程企劃();
HashSet<int> seen = new HashSet<int>();
foreach (DataRow r in dt.Rows)
{
int = DAC.GetInt32(r["課程序號"]);
if (seen.Add())
ddl教學日誌節次.Items.Add(new ListItem(DAC.GetString(r["節次"]), .ToString()));
}
}
if (ddl教學日誌節次.Items.Count == 0)
ddl教學日誌節次.Items.Add(new ListItem("尚無教學日誌資料", "0"));
string = ViewState["教學日誌節次"] as string;
if (!String.IsNullOrEmpty() && ddl教學日誌節次.Items.FindByValue() != null)
ddl教學日誌節次.SelectedValue = ;
else
ddl教學日誌節次.SelectedIndex = 0;
View1. = String.Format("{0}|{1}", , ddl教學日誌節次.SelectedValue);
View1.DataBind();
}
protected void ddl教學日誌節次_SelectedIndexChanged(object sender, EventArgs e)
{
ViewState["教學日誌節次"] = ddl教學日誌節次.SelectedValue;
Bind教學日誌節次();
}
/// <summary>
/// 取得該課程企劃的異常情形彙整文字
/// </summary>
protected string Get異常情形(object )
{
int id = DAC.GetInt32();
if (id == 0) return "";
DAC_教學日誌 dao = new DAC_教學日誌(conn);
DataTable dt = dao.SelectBy課程企劃(id);
StringBuilder sb = new StringBuilder();
foreach (DataRow row in dt.Rows)
{
string = DAC.GetString(row["有無異常事項"]);
string = DAC.GetString(row["異常情形"]);
if ( == "1" && !string.IsNullOrEmpty())
{
if (sb.Length > 0) sb.Append("<hr style=\"border:none;border-top:1px dashed #ccc;margin:2px 0\">");
sb.AppendFormat("[{0}] {1}", DAC.GetString(row["課程序號"]), .Replace("\r\n", "<br>").Replace("\r", "<br>").Replace("\n", "<br>"));
}
}
return sb.ToString();
}
protected string Get支出合計()
{
int = 0;
List d = ds課程經費.Select() as List;
foreach ( r in d)
{
if (r. == "支")
+= r.;
}
return .ToString("###,###,##0");
}
protected void btnSearch_Click(object sender, EventArgs e)
{
gv訓練企劃.PageIndex = 0;
gv訓練企劃.DataBind();
RefreshPage();
}
protected void btnPrint_Click(object sender, EventArgs e)
{
// 列印報表
bool = ddReport.SelectedValue == "2";
DataTable reportData = Dao訓練課程企劃.Select年度課程執行狀況報表(DAC.GetString(Session[PublicVariable.CompanyId]),
DAC.GetInt32(txtYear.Text), );
if (reportData.Rows.Count == 0)
{
lbMessage.Text = "沒有符合條件的資料!";
}
else
{
Report. report = new Report.();
report.data = reportData;
report. = DAC.GetInt32(txtYear.Text);
report. = CompanyName;
report. = ;
MemoryStream ms = report.DoReport();
if (!)
ResponseWriteStream(ms, String.Format("{0}年度課程執行狀況報表.xlsx", txtYear.Text));
else
ResponseWriteStream(ms, String.Format("{0}年度課程報表.xlsx", txtYear.Text));
}
}
protected void ds訓練企劃_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao訓練課程企劃;
}
protected void ds教學日誌_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = new DAC_教學日誌(conn);
}
}
}
@@ -0,0 +1,305 @@
//------------------------------------------------------------------------------
// <自動產生>
// 這段程式碼是由工具產生的。
//
// 變更這個檔案可能會導致不正確的行為,而且如果已重新產生
// 程式碼,則會遺失變更。
// </自動產生>
//------------------------------------------------------------------------------
namespace Education.Forms.
{
public partial class
{
/// <summary>
/// ds訓練企劃 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds訓練企劃;
/// <summary>
/// Label1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label1;
/// <summary>
/// txtYear 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txtYear;
/// <summary>
/// btnSearch 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btnSearch;
/// <summary>
/// Label3 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label3;
/// <summary>
/// ddReport 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::WebLib.WDropDownList ddReport;
/// <summary>
/// btnPrint 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btnPrint;
/// <summary>
/// lbMessage 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbMessage;
/// <summary>
/// gv訓練企劃 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.GridView gv訓練企劃;
/// <summary>
/// pnlDetail 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Panel pnlDetail;
/// <summary>
/// btnPage1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btnPage1;
/// <summary>
/// btnPage2 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btnPage2;
/// <summary>
/// btnPage3 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btnPage3;
/// <summary>
/// btnPage4 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btnPage4;
/// <summary>
/// btnPage5 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btnPage5;
/// <summary>
/// MultiView1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.MultiView MultiView1;
/// <summary>
/// View1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.View View1;
/// <summary>
/// 訓練課程企劃書View1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::Education.Forms.UC.View View1;
/// <summary>
/// View2 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.View View2;
/// <summary>
/// ds報名學員 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds報名學員;
/// <summary>
/// gv報名學員 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.GridView gv報名學員;
/// <summary>
/// View3 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.View View3;
/// <summary>
/// ds課程經費 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds課程經費;
/// <summary>
/// gv課程經費 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.GridView gv課程經費;
/// <summary>
/// View4 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.View View4;
/// <summary>
/// 訓練檢討報告View1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::Education.Forms.UC.View View1;
/// <summary>
/// 滿意度分析View1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::Education.Forms.UC.滿View 滿View1;
/// <summary>
/// View5 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.View View5;
/// <summary>
/// ds教學日誌 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds教學日誌;
/// <summary>
/// Label2 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label2;
/// <summary>
/// ddl教學日誌節次 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.DropDownList ddl教學日誌節次;
/// <summary>
/// 教學日誌暨異常狀況View1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::Education.Forms.UC.View View1;
}
}
@@ -0,0 +1,132 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site2.Master" AutoEventWireup="true"
CodeBehind="後台受訓紀錄查詢.aspx.cs" Inherits="Education.Forms.辦訓狀況.後台受訓紀錄查詢" %>
<%@ Register Assembly="WebLib" Namespace="WebLib" TagPrefix="weblib" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:ObjectDataSource ID="ds訓練記錄" runat="server"
OldValuesParameterFormatString="original_{0}" SelectMethod="Select選課紀錄"
TypeName="Education.DAC_課程報名" OnSelecting="ds訓練記錄_Selecting">
<SelectParameters>
<asp:ControlParameter ControlID="txt訓練年度_Search" Name="訓練年度"
PropertyName="Text" Type="Int32" />
<asp:ControlParameter ControlID="ddl計畫別_Search" Name="計畫別"
PropertyName="SelectedValue" Type="String" />
<asp:ControlParameter ControlID="txt課程名稱_Search" Name="課程名稱"
PropertyName="Text" Type="String" />
<asp:Parameter Name="公司別" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
<table border="0" style="table-layout: fixed;">
<tr>
<td colspan="1" class="widthcontrol"
style="width: 90px;"></td>
<td colspan="1" class="widthcontrol"
style="width: 180px;"></td>
<td class="widthcontrol" style="width: 90px;"></td>
<td class="widthcontrol"
style="width: 180px;">&nbsp;</td>
<td class="widthcontrol" style="width: 90px;"></td>
<td class="widthcontrol"
style="width: 180px;"></td>
<td class="widthcontrol"
style="width: 180px;">&nbsp;</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="Label6" runat="server" Text="訓練年度"></asp:Label>
</td>
<td class="datainput" colspan="1">
<asp:TextBox ID="txt訓練年度_Search" runat="server" Text="" MaxLength="4"
CssClass="inputFull" ValidationGroup="Search"></asp:TextBox>
<asp:RangeValidator runat="server" ID="rgv訓練年度_Search" ControlToValidate="txt訓練年度_Search"
ValidationGroup="Search" Type="Integer" MinimumValue="1000" MaximumValue="2999"
ErrorMessage="請輸入正確西元年度" CssClass="ErrorMessage" Display="Dynamic"></asp:RangeValidator>
</td>
<td class="datainput" colspan="2" rowspan="1" style="vertical-align: top">
<asp:LinkButton runat="server" ID="btnSearch計畫別" CssClass="button blue100"
OnClick="btnSearch計畫別_Click">查詢計畫別</asp:LinkButton>
</td>
<td class="caption">&nbsp;</td>
<td class="datainput">&nbsp;</td>
<td class="datainput">&nbsp;</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb計畫別Label" runat="server" Text="計畫別"></asp:Label>
</td>
<td class="datainput" colspan="3">
<weblib:WDropDownList ID="ddl計畫別_Search" runat="server" CssClass="inputFull"></weblib:WDropDownList>
</td>
<td class="caption">
<asp:Label ID="lb訓練名稱Label" runat="server" Text="課程名稱"></asp:Label>
</td>
<td class="datainput">
<asp:TextBox ID="txt課程名稱_Search" runat="server" CssClass="inputFull" MaxLength="50"
Text=""></asp:TextBox>
</td>
<td class="datainput">
<asp:LinkButton runat="server" ID="btnSearch" CssClass="button blue120"
OnClick="btnSearch_Click">查詢訓練記錄</asp:LinkButton>
</td>
</tr>
</table>
<div>
<asp:Label ID="lbMessage" runat="server" Text="" EnableViewState="false" CssClass="ErrorMessage"></asp:Label>
</div>
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="false"
DataSourceID="ds訓練記錄" EnableModelValidation="True" EnableViewState="True"
Width="100%" Visible="false" PageSize="20">
<Columns>
<asp:BoundField DataField="員工編號" HeaderText="員工編號">
<HeaderStyle Width="5em" />
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="員工姓名" HeaderText="員工姓名">
<HeaderStyle Width="5em" />
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="開課別" HeaderText="開課別">
<HeaderStyle Width="60px" />
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:TemplateField HeaderText="訓練日期">
<ItemTemplate>
<asp:Label runat="server" ID="lb訓練日期" Text='<%# Eval("訓練日期") %>'></asp:Label>
<asp:Label runat="server" ID="lb訓練日期迄"
Text='<%# Eval("訓練日期迄", "{0}").Length > 0
&& Eval("訓練日期迄", "{0}").CompareTo(Eval("訓練日期", "{0}")) != 0
? " 至 " + Eval("訓練日期迄", "{0}") : "" %>'></asp:Label>
</ItemTemplate>
<HeaderStyle Width="12em" />
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:BoundField DataField="訓練名稱" HeaderText="訓練名稱">
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:TemplateField HeaderText="訓練時數">
<ItemTemplate>
<asp:Label runat="server" ID="lb訓練時數" Text='<%# DAC.GetInt32(Eval("填寫數")) > 0 ? Eval("訓練時數", "{0}") : "0" %>'></asp:Label>
</ItemTemplate>
<HeaderStyle Width="5em" />
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<%-- <asp:BoundField DataField="計畫年度名稱" HeaderText="計畫別">
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>--%>
<asp:BoundField DataField="站別名稱" HeaderText="單位">
<ItemStyle HorizontalAlign="Left" />
<HeaderStyle Width="8em" />
</asp:BoundField>
<%-- <asp:BoundField DataField="填寫數" HeaderText="填寫數">
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField> --%>
</Columns>
<PagerTemplate>
<weblib:GridViewPager ID="GridViewPager1" runat="server" />
</PagerTemplate>
</asp:GridView>
</asp:Content>
@@ -0,0 +1,52 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using WebLib;
namespace Education.Forms.
{
public partial class : FormBase
{
protected void Page_Load(object sender, EventArgs e)
{
FunctionName = "學員訓練記錄";
if (!IsPostBack)
{
txt訓練年度_Search.Text = DateTime.UtcNow.AddHours(8).Date.ToString("yyyy");
}
else
{
GridView1.DataBind();
}
}
protected void btnSearch計畫別_Click(object sender, EventArgs e)
{
ddl計畫別_Search.DataSource = new DAC_BPAA().GetBpaaWithTY(DAC.GetInt32(txt訓練年度_Search.Text) - 1911, CompanyId);
ddl計畫別_Search.DataValueField = "BPPYN";
ddl計畫別_Search.DataTextField = "BPPYM";
ddl計畫別_Search.DataBind();
}
protected void dsGrid_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao訓練課程企劃;
}
protected void btnSearch_Click(object sender, EventArgs e)
{
GridView1.PageIndex = 0;
GridView1.DataBind();
GridView1.Visible = GridView1.Rows.Count > 0;
}
protected void ds訓練記錄_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
{
e.InputParameters["公司別"] = CompanyId;
}
}
}
@@ -0,0 +1,125 @@
//------------------------------------------------------------------------------
// <自動產生>
// 這段程式碼是由工具產生的。
//
// 變更這個檔案可能會導致不正確的行為,而且如果已重新產生
// 程式碼,則會遺失變更。
// </自動產生>
//------------------------------------------------------------------------------
namespace Education.Forms.
{
public partial class
{
/// <summary>
/// ds訓練記錄 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds訓練記錄;
/// <summary>
/// Label6 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label6;
/// <summary>
/// txt訓練年度_Search 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txt訓練年度_Search;
/// <summary>
/// rgv訓練年度_Search 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.RangeValidator rgv訓練年度_Search;
/// <summary>
/// btnSearch計畫別 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btnSearch計畫別;
/// <summary>
/// lb計畫別Label 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lb計畫別Label;
/// <summary>
/// ddl計畫別_Search 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::WebLib.WDropDownList ddl計畫別_Search;
/// <summary>
/// lb訓練名稱Label 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lb訓練名稱Label;
/// <summary>
/// txt課程名稱_Search 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txt課程名稱_Search;
/// <summary>
/// btnSearch 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btnSearch;
/// <summary>
/// lbMessage 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbMessage;
/// <summary>
/// GridView1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.GridView GridView1;
}
}
@@ -0,0 +1,97 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/PopupForm.Master" AutoEventWireup="true"
CodeBehind="心得報告討論.aspx.cs" Inherits="Education.Forms.辦訓狀況.心得報告討論與回覆" %>
<%@ Register Src="~/Forms/Common/起訖日顯示.ascx" TagPrefix="uc1" TagName="起訖日顯示" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<style type="text/css">
div.default_title {
margin-left: 20px;
margin-right: 10px;
padding: 8px 0 3px 0;
font-size: 12pt;
font-weight: bold;
float: left;
}
div.response-content {
padding: 10px;
margin: 10px 20px;
background-color: #FFFFFF;
width: 900px;
overflow-y: auto;
border: 2px solid #B4E0FF;
border-radius: 5px;
line-height: 150%;
}
</style>
<script type="text/javascript">
function copyContent(obj) {
var txtResponse = document.getElementById("txtResponse");
var hfResponse = document.getElementById(hfResponseId);
hfResponse.value = txtResponse.value.replace(/</g, "&lt;").replace(/>/g, "&gt;");
}
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:ObjectDataSource ID="ds心得報告討論" runat="server"
OldValuesParameterFormatString="original_{0}" SelectMethod="Select整棟"
TypeName="Education.DAC_心得報告討論">
<SelectParameters>
<asp:QueryStringParameter Name="心得報告編號" QueryStringField="id" Type="Int32" />
<asp:Parameter DefaultValue="true" Name="只包含上架" Type="Boolean" />
</SelectParameters>
</asp:ObjectDataSource>
<table style="width: 950px">
<tr>
<td class="caption" style="width: 80px">
<asp:Label ID="Label9" runat="server" Text="訓練課程"></asp:Label>
</td>
<td class="datadisplay">
<asp:Label ID="lb訓練課程" runat="server"></asp:Label>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="Label11" runat="server" Text="訓練日期"></asp:Label>
</td>
<td class="datadisplay">
<uc1:起訖日顯示 runat="server" ID="起訖日顯示" Format="yyyy-MM-dd" />
</td>
</tr>
</table>
<h3>
<asp:Label ID="lb樓主" runat="server"></asp:Label>的心得內容:
</h3>
<div style="margin-left: 10px; margin-right: 10px; margin-bottom: 10px;">
<div class="response-content">
<asp:Label ID="lb心得內容" runat="server"></asp:Label>
</div>
</div>
<h3>大家的討論內容</h3>
<asp:DataList ID="dl回覆" runat="server" DataKeyField="心得報告編號"
DataSourceID="ds心得報告討論">
<ItemTemplate>
<div style="margin-left: 10px; margin-right: 10px; margin-bottom: 10px;">
<div>
<asp:Label ID="發表人Label" runat="server" Text='<%# Get員工姓名(Eval("發表人")) + " 在 " + Eval("發表日期", "{0:yyyy-MM-dd HH:mm}") + " 發表討論:" %>' />
</div>
<div class="response-content">
<asp:Label ID="內容Label" runat="server" Text='<%# Eval("內容", "{0}").Replace("\r\n", "<br>").Replace("\r", "<br>").Replace("\n", "<br>") %>' />
</div>
</div>
</ItemTemplate>
</asp:DataList>
<h3>我要回應</h3>
<div style="margin-left: 30px; margin-right: 20px;">
<input type="hidden" id="hfResponse" runat="server" />
<textarea id="txtResponse" cols="110" rows="10" maxlength="2000" style="font-family: 細明體; font-size: 12pt"></textarea>
<div style="margin-top: 10px">
<asp:LinkButton ID="btnSave" runat="server" CssClass="button blue80" OnClientClick="copyContent();"
OnClick="btnSave_Click">確定儲存</asp:LinkButton>
&nbsp;<asp:Label ID="lbMessage" runat="server" CssClass="ErrorMessage"
EnableViewState="False"></asp:Label>
</div>
</div>
</asp:Content>
@@ -0,0 +1,70 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using WebLib;
namespace Education.Forms.
{
public partial class : FormBase
{
protected DAC_心得報告 Dao心得報告;
protected DAC_心得報告討論 Dao心得報告討論;
protected int id;
protected void Page_Load(object sender, EventArgs e)
{
FunctionName = "課程心得報告討論";
Dao心得報告 = new DAC_心得報告(conn);
Dao心得報告討論 = new DAC_心得報告討論(conn);
id = DAC.GetInt32(Request["id"]);
List d1 = Dao心得報告.SelectOne(id);
if (d1.Count > 0)
{
lb樓主.Text = Get員工姓名(d1[0].);
lb心得內容.Text = d1[0]..Replace("\r\n", "<br>").Replace("\n", "<br>").Replace("\r", "<br>").Replace(" ", "&nbsp;");
List d2 = Dao訓練課程企劃.SelectOne(d1[0].);
if (d2.Count > 0)
{
lb訓練課程.Text = d2[0].;
. = d2[0].;
. = d2[0].;
.DataBind();
}
}
if (IsPostBack)
{
dl回覆.DataBind();
}
ClientScript.RegisterStartupScript(this.GetType(), "hfResponse", String.Format("var hfResponseId=\"{0}\";", hfResponse.ClientID), true);
}
protected void btnSave_Click(object sender, EventArgs e)
{
// 存檔
if (hfResponse.Value.Trim().Length == 0)
{
lbMessage.Text = "先說兩句再儲存好嗎?";
return;
}
newValue = new ();
newValue. = id;
newValue. = UserId;
newValue. = DateTime.UtcNow.AddHours(8);
newValue. = hfResponse.Value.Trim();
newValue.DB_CRUSR = UserId;
Dao心得報告討論.InsertOne(newValue);
lbMessage.Text = "儲存成功!";
dl回覆.DataBind();
}
}
}
@@ -0,0 +1,116 @@
//------------------------------------------------------------------------------
// <自動產生>
// 這段程式碼是由工具產生的。
//
// 變更這個檔案可能會導致不正確的行為,而且如果已重新產生
// 程式碼,則會遺失變更。
// </自動產生>
//------------------------------------------------------------------------------
namespace Education.Forms.
{
public partial class
{
/// <summary>
/// ds心得報告討論 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds心得報告討論;
/// <summary>
/// Label9 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label9;
/// <summary>
/// lb訓練課程 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lb訓練課程;
/// <summary>
/// Label11 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label11;
/// <summary>
/// 起訖日顯示 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::Education.Forms.Common. ;
/// <summary>
/// lb樓主 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lb樓主;
/// <summary>
/// lb心得內容 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lb心得內容;
/// <summary>
/// dl回覆 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.DataList dl回覆;
/// <summary>
/// hfResponse 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlInputHidden hfResponse;
/// <summary>
/// btnSave 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btnSave;
/// <summary>
/// lbMessage 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbMessage;
}
}
@@ -0,0 +1,58 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/PopupForm.Master" AutoEventWireup="true"
CodeBehind="心得報告討論管理.aspx.cs" Inherits="Education.Forms.辦訓狀況.心得報告討論管理" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:ObjectDataSource ID="ds心得報告討論" runat="server"
OldValuesParameterFormatString="original_{0}" SelectMethod="Select整棟"
TypeName="Education.DAC_心得報告討論" OnObjectCreating="ds心得報告討論_ObjectCreating">
<SelectParameters>
<asp:QueryStringParameter Name="心得報告編號" QueryStringField="id" Type="Int32" />
<asp:Parameter DefaultValue="false" Name="只包含上架" Type="Boolean" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:GridView ID="gv心得報告討論" runat="server" AutoGenerateColumns="False"
DataKeyNames="心得報告編號,樓" DataSourceID="ds心得報告討論" EnableModelValidation="True"
Width="100%" OnRowCommand="gv心得報告討論_RowCommand">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="Label3" runat="server"
Text='<%# Eval("下架", "{0}") == "Y" ? "下架" : "上架" %>'
ForeColor='<%# Eval("下架", "{0}") == "Y" ? System.Drawing.Color.Red : System.Drawing.Color.Black %>'></asp:Label>&nbsp;
<asp:LinkButton ID="btn上架" runat="server" CssClass="button green60" CommandName="上架"
CommandArgument='<%# Eval("樓") %>'>
上架</asp:LinkButton>
<asp:LinkButton ID="btn下架" runat="server" CssClass="button red60" CommandName="下架"
CommandArgument='<%# Eval("樓") %>'>
下架</asp:LinkButton>
</ItemTemplate>
<HeaderStyle Width="175px" />
</asp:TemplateField>
<asp:BoundField DataField="心得報告編號" HeaderText="心得報告編號" ReadOnly="True"
SortExpression="心得報告編號">
<HeaderStyle Width="4em" />
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="樓" HeaderText="樓" ReadOnly="True" SortExpression="樓">
<HeaderStyle Width="1.5em" />
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:TemplateField HeaderText="發表人" SortExpression="發表人">
<ItemTemplate>
<asp:Label ID="Label41" runat="server" Text='<%# Bind("發表人") %>'></asp:Label>
<asp:Label ID="Label42" runat="server" Text='<%# Get員工姓名(Eval("發表人")) %>'></asp:Label>
</ItemTemplate>
<HeaderStyle Width="7em" />
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:BoundField DataField="發表日期" DataFormatString="{0:yyyyMMdd}"
HeaderText="發表日期" SortExpression="發表日期">
<HeaderStyle Width="5.5em" />
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="內容" HeaderText="內容" SortExpression="內容" />
</Columns>
</asp:GridView>
</asp:Content>
@@ -0,0 +1,50 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using WebLib;
namespace Education.Forms.
{
public partial class : FormBase
{
private DAC_心得報告討論 Dao心得報告討論;
private int ID;
protected void Page_Load(object sender, EventArgs e)
{
FunctionName = "心得報告討論管理";
ID = DAC.GetInt32(Request["id"]);
Dao心得報告討論 = new DAC_心得報告討論(conn);
Grid_View = gv心得報告討論;
GridView_DataSource = ds心得報告討論;
if (IsPostBack)
Grid_View.DataBind();
}
protected void gv心得報告討論_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "上架")
{
Dao心得報告討論.(ID, DAC.GetInt32(e.CommandArgument));
Grid_View.DataBind();
}
else if (e.CommandName == "下架")
{
Dao心得報告討論.(ID, DAC.GetInt32(e.CommandArgument));
Grid_View.DataBind();
}
}
protected void ds心得報告討論_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao心得報告討論;
}
}
}
@@ -0,0 +1,35 @@
//------------------------------------------------------------------------------
// <自動產生>
// 這段程式碼是由工具產生的。
//
// 變更這個檔案可能會導致不正確的行為,而且如果已重新產生
// 程式碼,則會遺失變更。
// </自動產生>
//------------------------------------------------------------------------------
namespace Education.Forms.
{
public partial class
{
/// <summary>
/// ds心得報告討論 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds心得報告討論;
/// <summary>
/// gv心得報告討論 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.GridView gv心得報告討論;
}
}
@@ -0,0 +1,943 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site2.Master" AutoEventWireup="true"
CodeBehind="教學日誌處理.aspx.cs" Inherits="Education.Forms.辦訓狀況.教學日誌處理" %>
<%@ Import Namespace="Education" %>
<%@ Register Assembly="WebLib" Namespace="WebLib" TagPrefix="weblib" %>
<%@ Register Src="../簽核/送簽.ascx" TagName="送簽" TagPrefix="uc1" %>
<%@ Register Src="../Common/訓練企劃搜尋.ascx" TagName="訓練企劃搜尋" TagPrefix="uc1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<style>
td:has(> input[type="radio"][value=""]) {
display: none;
}
input[type="radio"][value=""] {
display: none;
}
table[id^=ctl00_ContentPlaceHolder1_FormView1_ddl觀察] td {
width: 20vw;
vertical-align: top;
white-space: normal;
}
table[id^=ctl00_ContentPlaceHolder1_FormView1_ddl觀察] td label {
display: inline-block;
width: calc(100% - 24px);
vertical-align: top;
white-space: normal;
line-height: 1.35;
}
table[id^=ctl00_ContentPlaceHolder1_FormView1_ddl觀察] td input[type="radio"] {
display: inline-block;
vertical-align: top;
margin-top: 2px;
}
tr:has(> td > table[id$="_ddl觀察02"]) > td,
tr:has(> td > table[id$="_ddl觀察04"]) > td,
tr:has(> td > table[id$="_ddl觀察06"]) > td,
tr:has(> td > table[id$="_ddl觀察08"]) > td {
background-color: #f5f5f5;
}
</style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:ObjectDataSource ID="ds課程內容" runat="server" OldValuesParameterFormatString="original_{0}"
SelectMethod="SelectBy課程企劃" TypeName="Education.DAC_訓練課程內容" OnObjectCreating="ds課程內容_ObjectCreating" OnSelected="ds課程內容_Selected">
<selectparameters>
<asp:ControlParameter ControlID="訓練企劃搜尋" Name="訓練課程企劃編號" PropertyName="訓練企劃編號"
Type="Int32" />
</selectparameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds教學日誌" runat="server" DataObjectTypeName="Education.教學日誌"
InsertMethod="InsertOne" OldValuesParameterFormatString="original_{0}" SelectMethod="SelectOne"
TypeName="Education.DAC_教學日誌" UpdateMethod="UpdateOne">
<selectparameters>
<asp:ControlParameter ControlID="訓練企劃搜尋" Name="課程企劃編號" PropertyName="訓練企劃編號"
Type="Int32" />
<asp:ControlParameter ControlID="ddl課程內容" Name="課程序號" PropertyName="SelectedValue"
Type="Int32" />
</selectparameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds觀察01" runat="server"
SelectMethod="Select觀察01ForList" TypeName="Education.DAC_教學日誌選項"></asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds觀察02" runat="server"
SelectMethod="Select觀察02ForList" TypeName="Education.DAC_教學日誌選項"></asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds觀察03" runat="server"
SelectMethod="Select觀察03ForList" TypeName="Education.DAC_教學日誌選項"></asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds觀察04" runat="server"
SelectMethod="Select觀察04ForList" TypeName="Education.DAC_教學日誌選項"></asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds觀察05" runat="server"
SelectMethod="Select觀察05ForList" TypeName="Education.DAC_教學日誌選項"></asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds觀察06" runat="server"
SelectMethod="Select觀察06ForList" TypeName="Education.DAC_教學日誌選項"></asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds觀察07" runat="server"
SelectMethod="Select觀察07ForList" TypeName="Education.DAC_教學日誌選項"></asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds觀察08" runat="server"
SelectMethod="Select觀察08ForList" TypeName="Education.DAC_教學日誌選項"></asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds有無異常事項" runat="server"
SelectMethod="Select有無異常事項ForList" TypeName="Education.DAC_教學日誌選項"></asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds是否需後續追蹤" runat="server"
SelectMethod="Select是否需後續追蹤ForList" TypeName="Education.DAC_教學日誌選項"></asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds片語異常情形" runat="server"
SelectMethod="SelectBy適用欄位" TypeName="Education.DAC_片語">
<selectparameters>
<asp:Parameter Name="適用欄位" Type="String" DefaultValue="異常情形" />
</selectparameters>
</asp:ObjectDataSource>
<uc1:訓練企劃搜尋 id="訓練企劃搜尋" runat="server" 包含已結案="True" onclick="btn查詢1_Click"
訓練企劃狀態="已上課未結案" />
<asp:Label ID="lbMessage" runat="server" CssClass="ErrorMessage" EnableViewState="False"></asp:Label>
<asp:Panel ID="Panel1" runat="server" Visible="false">
<asp:Panel ID="Panel2" runat="server" Visible="false">
<table>
<tr>
<td class="caption" style="width: 100px">
<asp:Label ID="Label10" runat="server" Text="課程內容"></asp:Label>
</td>
<td class="datainput">
<weblib:wdropdownlist id="ddl課程內容" runat="server" datasourceid="ds課程內容" datatextfield="課程名稱"
datavaluefield="課程序號">
</weblib:wdropdownlist>
<asp:LinkButton ID="btn查詢2" runat="server" CssClass="button blue120" OnClick="btn查詢2_Click">填寫教學日誌</asp:LinkButton>
</td>
</tr>
</table>
</asp:Panel>
<asp:FormView ID="FormView1" runat="server" DataKeyNames="課程企劃編號,課程序號,DB_APPNO" DataSourceID="ds教學日誌"
EnableModelValidation="True" OnItemInserting="FormView1_ItemInserting" OnItemUpdating="FormView1_ItemUpdating">
<itemtemplate>
<div>
<asp:LinkButton ID="btnUpdate" runat="server" Text="更正" CommandName="Edit" CssClass="button green80" />
</div>
<table border="0" cellpadding="3" cellspacing="2" style="table-layout: fixed;">
<tr>
<td colspan="1" class="widthcontrol" style="width: 275px;"></td>
<td colspan="1" class="widthcontrol" style="width: 190px;"></td>
<td colspan="1" class="widthcontrol" style="width: 110px;"></td>
<td colspan="1" class="widthcontrol" style="width: 190px;"></td>
<td colspan="1" class="widthcontrol" style="width: 110px;"></td>
<td colspan="1" class="widthcontrol" style="width: 190px;"></td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb課程企劃編號Label" runat="server" Text="課程企劃編號"></asp:Label>
</td>
<td class="datadisplay">
<asp:Label ID="lb課程企劃編號" runat="server" CssClass="inputFull"></asp:Label>
</td>
<td class="caption">
<asp:Label ID="lb課程序號Label" runat="server" Text="節次"></asp:Label>
</td>
<td class="datadisplay">
<asp:Label ID="lb節次" runat="server" CssClass="inputFull"></asp:Label>
</td>
<td class="caption">
<asp:Label ID="lb講師Label" runat="server" Text="講師"></asp:Label>
</td>
<td class="datadisplay">
<asp:Label ID="lb講師" runat="server" CssClass="inputFull"></asp:Label>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb應到人數Label" runat="server" Text="應到人數"></asp:Label>
</td>
<td class="datadisplay">
<asp:Label ID="lb應到人數" runat="server" Text='<%# Bind("應到人數") %>' CssClass="inputFull"></asp:Label>
</td>
<td class="caption">
<asp:Label ID="lb實到人數Label" runat="server" Text="實到人數"></asp:Label>
</td>
<td class="datadisplay">
<asp:Label ID="lb實到人數" runat="server" Text='<%# Bind("實到人數") %>' CssClass="inputFull"></asp:Label>
</td>
<td class="caption">
<asp:Label ID="lb缺席人數Label" runat="server" Text="缺席人數"></asp:Label>
</td>
<td class="datadisplay">
<asp:Label ID="lb缺席人數" runat="server" Text='<%# Bind("缺席人數") %>' CssClass="inputFull"></asp:Label>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb教學概要Label" runat="server" Text="教學概要"></asp:Label>
</td>
<td class="datadisplay" colspan="5">
<asp:Label ID="lb教學概要" runat="server" Text='<%# Eval("教學概要", "{0}").Replace("\r\n", "<br/>").Replace("\r", "<br/>").Replace("\n", "<br/>") %>' CssClass="inputFull"></asp:Label>
<div style="color: #888; font-size: 12px; padding: 4px 0;">※ 2026年起改填寫課程執行觀察</div>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb學員反應Label" runat="server" Text="學員反應"></asp:Label>
</td>
<td class="datadisplay" colspan="5">
<asp:Label ID="lb學員反應" runat="server" Text='<%# Eval("學員反應", "{0}").Replace("\r\n", "<br/>").Replace("\r", "<br/>").Replace("\n", "<br/>") %>' CssClass="inputFull"></asp:Label>
<div style="color: #888; font-size: 12px; padding: 4px 0;">※ 2026年起改填寫課程執行觀察</div>
</td>
</tr>
<tr>
<td colspan="6" style="background-color: #e8f0fe; font-weight: bold; padding: 6px 8px;">課程執行觀察 (請依課程現場觀察,勾選最符合本次課程執行情形之選項)
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察01Label" runat="server" Text="1.課程是否依原訂計畫執行"></asp:Label>
</td>
<td class="datadisplay" colspan="5">
<asp:Label ID="lb觀察01" runat="server" Text='<%# DAC_教學日誌選項.Get觀察01名稱(Eval("課程執行觀察_01")) %>' CssClass="inputFull"></asp:Label>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察02Label" runat="server" Text="2.課程進度"></asp:Label>
</td>
<td class="datadisplay" colspan="5">
<asp:Label ID="lb觀察02" runat="server" Text='<%# DAC_教學日誌選項.Get觀察02名稱(Eval("課程執行觀察_02")) %>' CssClass="inputFull"></asp:Label>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察03Label" runat="server" Text="3.講師授課情形"></asp:Label>
</td>
<td class="datadisplay" colspan="5">
<asp:Label ID="lb觀察03" runat="server" Text='<%# DAC_教學日誌選項.Get觀察03名稱(Eval("課程執行觀察_03")) %>' CssClass="inputFull"></asp:Label>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察04Label" runat="server" Text="4.學員參與互動"></asp:Label>
</td>
<td class="datadisplay" colspan="5">
<asp:Label ID="lb觀察04" runat="server" Text='<%# DAC_教學日誌選項.Get觀察04名稱(Eval("課程執行觀察_04")) %>' CssClass="inputFull"></asp:Label>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察05Label" runat="server" Text="5.學員學習投入"></asp:Label>
</td>
<td class="datadisplay" colspan="5">
<asp:Label ID="lb觀察05" runat="server" Text='<%# DAC_教學日誌選項.Get觀察05名稱(Eval("課程執行觀察_05")) %>' CssClass="inputFull"></asp:Label>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察06Label" runat="server" Text="6.學員課堂回應情形"></asp:Label>
</td>
<td class="datadisplay" colspan="5">
<asp:Label ID="lb觀察06" runat="server" Text='<%# DAC_教學日誌選項.Get觀察06名稱(Eval("課程執行觀察_06")) %>' CssClass="inputFull"></asp:Label>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察07Label" runat="server" Text="7.實作/活動完成情形"></asp:Label>
</td>
<td class="datadisplay" colspan="5">
<asp:Label ID="lb觀察07" runat="server" Text='<%# DAC_教學日誌選項.Get觀察07名稱(Eval("課程執行觀察_07")) %>' CssClass="inputFull"></asp:Label>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察08Label" runat="server" Text="8.教學設備及場地"></asp:Label>
</td>
<td class="datadisplay" colspan="5">
<asp:Label ID="lb觀察08" runat="server" Text='<%# DAC_教學日誌選項.Get觀察08名稱(Eval("課程執行觀察_08")) %>' CssClass="inputFull"></asp:Label>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察說明Label" runat="server" Text="觀察說明"></asp:Label>
</td>
<td class="datadisplay" colspan="5">
<asp:Label ID="lb觀察說明" runat="server" Text='<%# Eval("課程執行觀察說明_01", "{0}").Replace("\r", "<br/>") %>' CssClass="inputFull"></asp:Label>
</td>
</tr>
<tr>
<td colspan="6" style="background-color: #e8f0fe; font-weight: bold; padding: 6px 8px;">課程觀察紀錄
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察紀錄1Label" runat="server" Text="1.本次課程值得保留或表現良好之處"></asp:Label>
</td>
<td class="datadisplay" colspan="5">
<asp:Label ID="lb觀察紀錄1" runat="server" Text='<%# Eval("課程觀察紀錄_1", "{0}").Replace("\r", "<br/>") %>' CssClass="inputFull"></asp:Label>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察紀錄2Label" runat="server" Text="2.本次課程可改善事項及建議"></asp:Label>
</td>
<td class="datadisplay" colspan="5">
<asp:Label ID="lb觀察紀錄2" runat="server" Text='<%# Eval("課程觀察紀錄_2", "{0}").Replace("\r", "<br/>") %>' CssClass="inputFull"></asp:Label>
</td>
</tr>
<tr>
<td colspan="6" style="background-color: #e8f0fe; font-weight: bold; padding: 6px 8px;">異常狀況紀錄</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb異常情形Label" runat="server" Text="異常情形"></asp:Label>
</td>
<td class="datadisplay" colspan="5">
<asp:Label ID="lb有無異常" runat="server" Text='<%# DAC_教學日誌選項.Get有無異常事項名稱(Eval("有無異常事項")) %>' CssClass="inputFull"></asp:Label>
<asp:Label ID="lb異常情形" runat="server" Text='<%# Eval("異常情形", "{0}").Replace("\r", "<br/>") %>' CssClass="inputFull"></asp:Label>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb處理經過與結果Label" runat="server" Text="處理過程及建議"></asp:Label>
</td>
<td class="datadisplay" colspan="5">
<asp:Label ID="lb處理經過與結果" runat="server" Text='<%# Eval("處理經過與結果", "{0}").Replace("\r", "<br/>") %>' CssClass="inputFull"></asp:Label>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb是否需後續追蹤Label" runat="server" Text="是否需後續追蹤"></asp:Label>
</td>
<td class="datadisplay" colspan="5">
<asp:Label ID="lb是否需後續追蹤" runat="server" Text='<%# DAC_教學日誌選項.Get是否需後續追蹤名稱(Eval("是否需後續追蹤")) %>' CssClass="inputFull"></asp:Label>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb追蹤事項Label" runat="server" Text="追蹤事項"></asp:Label>
</td>
<td class="datadisplay" colspan="5">
<asp:Label ID="lb追蹤事項" runat="server" Text='<%# Eval("追蹤事項", "{0}").Replace("\r", "<br/>") %>' CssClass="inputFull"></asp:Label>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb處理結果追蹤Label" runat="server" Text="處理結果追蹤"></asp:Label>
</td>
<td class="datadisplay" colspan="5">
<asp:Label ID="lb處理結果追蹤" runat="server" Text='<%# Eval("處理結果追蹤", "{0}").Replace("\r", "<br/>") %>' CssClass="inputFull"></asp:Label>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb填表人員Label" runat="server" Text="填表人員"></asp:Label>
</td>
<td class="datadisplay">
<asp:Label ID="lb填表人員0" runat="server" CssClass="inputFull" Text='<%# Get員工姓名(Eval("填表人員")) %>'></asp:Label>
</td>
<td class="caption">
<asp:Label ID="lb填表日期Label" runat="server" Text="填表日期"></asp:Label>
</td>
<td class="datadisplay">
<asp:Label ID="lb填表日期" runat="server" CssClass="inputFull" Text='<%# Eval("填表日期", "{0:yyyy-MM-dd}") %>'></asp:Label>
</td>
<td></td>
<td></td>
</tr>
</table>
</itemtemplate>
<emptydatatemplate>
<div>
<asp:LinkButton ID="btnInsert" runat="server" CommandName="New" CssClass="button blue80"
Text="新增" />
</div>
</emptydatatemplate>
<insertitemtemplate>
<div>
<asp:LinkButton ID="btnSave" runat="server" Text="存檔" CommandName="Insert" CssClass="button blue80" />
<asp:LinkButton ID="btnCancel" runat="server" Text="取消" CommandName="Cancel" CausesValidation="false"
CssClass="button red80" OnClientClick="return confirm(&quot;是否確定取消新增?&quot;);" />
</div>
<table border="0" cellpadding="3" cellspacing="2" style="table-layout: fixed;">
<tr>
<td colspan="1" class="widthcontrol" style="width: 275px;"></td>
<td colspan="1" class="widthcontrol" style="width: 190px;"></td>
<td colspan="1" class="widthcontrol" style="width: 110px;"></td>
<td colspan="1" class="widthcontrol" style="width: 190px;"></td>
<td colspan="1" class="widthcontrol" style="width: 110px;"></td>
<td colspan="1" class="widthcontrol" style="width: 190px;"></td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb課程企劃編號Label" runat="server" Text="課程企劃編號"></asp:Label>
</td>
<td class="datadisplay">
<asp:Label ID="lb課程企劃編號" runat="server" CssClass="inputFull"></asp:Label>
</td>
<td class="caption">
<asp:Label ID="lb課程序號Label" runat="server" Text="節次"></asp:Label>
</td>
<td class="datadisplay">
<asp:Label ID="lb節次" runat="server" CssClass="inputFull"></asp:Label>
<asp:HiddenField ID="hf課程序號" runat="server" Value='<%# Bind("課程序號") %>' />
</td>
<td class="caption">
<asp:Label ID="lb講師Label" runat="server" Text="講師"></asp:Label>
</td>
<td class="datadisplay">
<asp:Label ID="lb講師" runat="server" CssClass="inputFull"></asp:Label>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb應到人數Label" runat="server" Text="應到人數"></asp:Label>
</td>
<td class="datainput">
<asp:TextBox ID="txt應到人數" runat="server" Text='<%# Bind("應到人數") %>' MaxLength="2"
CssClass="inputFull">
</asp:TextBox>
</td>
<td class="caption">
<asp:Label ID="lb實到人數Label" runat="server" Text="實到人數"></asp:Label>
</td>
<td class="datainput">
<asp:TextBox ID="txt實到人數" runat="server" Text='<%# Bind("實到人數") %>' MaxLength="2"
CssClass="inputFull">
</asp:TextBox>
</td>
<td class="caption">
<asp:Label ID="lb缺席人數Label" runat="server" Text="缺席人數"></asp:Label>
</td>
<td class="datainput">
<asp:TextBox ID="txt缺席人數" runat="server" Text='<%# Bind("缺席人數") %>' MaxLength="2"
CssClass="inputFull" Style="width: 80px">
</asp:TextBox>
</td>
</tr>
<tr>
<td colspan="6" style="background-color: #e8f0fe; font-weight: bold; padding: 6px 8px;">課程執行觀察 (請依課程現場觀察,勾選最符合本次課程執行情形之選項)
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察01Label" runat="server" Text="1.課程是否依原訂計畫執行"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:RadioButtonList ID="ddl觀察01" runat="server" SelectedValue='<%# Bind("課程執行觀察_01") %>'
DataSourceID="ds觀察01" DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatColumns="6" RepeatLayout="Table">
</asp:RadioButtonList>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察02Label" runat="server" Text="2.課程進度"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:RadioButtonList ID="ddl觀察02" runat="server" SelectedValue='<%# Bind("課程執行觀察_02") %>'
DataSourceID="ds觀察02" DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatColumns="6" RepeatLayout="Table">
</asp:RadioButtonList>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察03Label" runat="server" Text="3.講師授課情形"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:RadioButtonList ID="ddl觀察03" runat="server" SelectedValue='<%# Bind("課程執行觀察_03") %>'
DataSourceID="ds觀察03" DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatColumns="6" RepeatLayout="Table">
</asp:RadioButtonList>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察04Label" runat="server" Text="4.學員參與互動"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:RadioButtonList ID="ddl觀察04" runat="server" SelectedValue='<%# Bind("課程執行觀察_04") %>'
DataSourceID="ds觀察04" DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatColumns="6" RepeatLayout="Table">
</asp:RadioButtonList>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察05Label" runat="server" Text="5.學員學習投入"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:RadioButtonList ID="ddl觀察05" runat="server" SelectedValue='<%# Bind("課程執行觀察_05") %>'
DataSourceID="ds觀察05" DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatColumns="6" RepeatLayout="Table">
</asp:RadioButtonList>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察06Label" runat="server" Text="6.學員課堂回應情形"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:RadioButtonList ID="ddl觀察06" runat="server" SelectedValue='<%# Bind("課程執行觀察_06") %>'
DataSourceID="ds觀察06" DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatColumns="6" RepeatLayout="Table">
</asp:RadioButtonList>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察07Label" runat="server" Text="7.實作/活動完成情形"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:RadioButtonList ID="ddl觀察07" runat="server" SelectedValue='<%# Bind("課程執行觀察_07") %>'
DataSourceID="ds觀察07" DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatColumns="6" RepeatLayout="Table">
</asp:RadioButtonList>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察08Label" runat="server" Text="8.教學設備及場地"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:RadioButtonList ID="ddl觀察08" runat="server" SelectedValue='<%# Bind("課程執行觀察_08") %>'
DataSourceID="ds觀察08" DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatColumns="6" RepeatLayout="Table">
</asp:RadioButtonList>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察說明Label" runat="server" Text="觀察說明"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:TextBox ID="txt觀察說明" runat="server" Text='<%# Bind("課程執行觀察說明_01") %>' MaxLength="200"
TextMode="MultiLine" Rows="3" CssClass="inputFull">
</asp:TextBox>
<asp:CustomValidator ID="cv觀察說明" runat="server"
ControlToValidate="txt觀察說明" ValidateEmptyText="true" Display="Dynamic"
ErrorMessage="請填寫課程執行觀察說明。" OnServerValidate="cv觀察說明_ServerValidate" />
</td>
</tr>
<tr>
<td colspan="6" style="background-color: #e8f0fe; font-weight: bold; padding: 6px 8px;">課程觀察紀錄
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察紀錄1Label" runat="server" Text="1.本次課程值得保留或表現良好之處"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:TextBox ID="txt觀察紀錄1" runat="server" Text='<%# Bind("課程觀察紀錄_1") %>' MaxLength="200"
TextMode="MultiLine" Rows="3" CssClass="inputFull">
</asp:TextBox>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察紀錄2Label" runat="server" Text="2.本次課程可改善事項及建議"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:TextBox ID="txt觀察紀錄2" runat="server" Text='<%# Bind("課程觀察紀錄_2") %>' MaxLength="200"
TextMode="MultiLine" Rows="3" CssClass="inputFull">
</asp:TextBox>
</td>
</tr>
<tr>
<td colspan="6" style="background-color: #e8f0fe; font-weight: bold; padding: 6px 8px;">異常狀況紀錄</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb異常情形Label" runat="server" Text="異常情形"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:RadioButtonList ID="ddl有無異常事項" runat="server" SelectedValue='<%# Bind("有無異常事項") %>'
DataSourceID="ds有無異常事項" DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatColumns="6" RepeatLayout="Table">
</asp:RadioButtonList>
<asp:TextBox ID="txt異常情形" runat="server" Text='<%# Bind("異常情形") %>' MaxLength="2002"
TextMode="MultiLine" Rows="3" CssClass="inputFull" Style="margin-top: 5px">
</asp:TextBox>
<div>
<button type="button" class="button gray40" onclick="togglePhrase('div片語異常情形Insert')">片語</button>
</div>
<div id="div片語異常情形Insert" class="hide">
<asp:Repeater runat="server" DataSourceID="ds片語異常情形">
<itemtemplate>
<span class="phraselink" onclick='<%# GetPhraseClientClick("txt異常情形", Eval("片語內容", "{0}")) %>'><%# Eval("片語內容") %></span>
</itemtemplate>
</asp:Repeater>
</div>
<asp:CustomValidator ID="cv異常情形" runat="server" ControlToValidate="txt異常情形"
ValidateEmptyText="true" Display="Dynamic"
ErrorMessage="選擇有異常時,請填寫異常情形。" OnServerValidate="cv異常情形_ServerValidate" />
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb處理經過與結果Label" runat="server" Text="處理過程及建議"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:TextBox ID="txt處理經過與結果" runat="server" Text='<%# Bind("處理經過與結果") %>' MaxLength="2002"
TextMode="MultiLine" Rows="4" CssClass="inputFull">
</asp:TextBox>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb是否需後續追蹤Label" runat="server" Text="是否需後續追蹤"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:RadioButtonList ID="ddl是否需後續追蹤" runat="server" SelectedValue='<%# Bind("是否需後續追蹤") %>'
DataSourceID="ds是否需後續追蹤" DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatColumns="6" RepeatLayout="Table">
</asp:RadioButtonList>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb追蹤事項Label" runat="server" Text="追蹤事項"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:TextBox ID="txt追蹤事項" runat="server" Text='<%# Bind("追蹤事項") %>' MaxLength="200"
TextMode="MultiLine" Rows="3" CssClass="inputFull">
</asp:TextBox>
<asp:CustomValidator ID="cv追蹤事項" runat="server" ControlToValidate="txt追蹤事項"
ValidateEmptyText="true" Display="Dynamic"
ErrorMessage="選擇需要後續追蹤時,請填寫追蹤事項。" OnServerValidate="cv追蹤事項_ServerValidate" />
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb處理結果追蹤Label" runat="server" Text="處理結果追蹤"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:TextBox ID="txt處理結果追蹤" runat="server" Text='<%# Bind("處理結果追蹤") %>' MaxLength="200" ReadOnly="true"
TextMode="MultiLine" Rows="3" CssClass="inputFull">
</asp:TextBox>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb填表人員Label" runat="server" Text="填表人員"></asp:Label>
</td>
<td class="datainput">
<weblib:lookuptextbox id="txt填表人員" runat="server" lookupconfigname="BPSN"
outputcontrol="lb填表人員X" text='<%# Bind("填表人員") %>' />
</td>
<td class="datadisplay">
<asp:Label ID="lb填表人員X" runat="server" Text='<%# Get員工姓名(Eval("填表人員")) %>'></asp:Label>
</td>
<td class="datainput">
<weblib:datetextbox id="txt填表日期" runat="server" cssclass="inputFull" dateorder="YMD"
dateseparator="" value='<%# Bind("填表日期") %>' />
</td>
<td></td>
<td></td>
</tr>
</table>
</insertitemtemplate>
<edititemtemplate>
<div>
<asp:LinkButton ID="btnSave" runat="server" Text="存檔" CommandName="Update" CssClass="button blue80" />
<asp:LinkButton ID="btnCancel" runat="server" Text="取消" CommandName="Cancel" CausesValidation="false"
CssClass="button red80" OnClientClick="return confirm(&quot;是否確定取消更正?&quot;);" />
<asp:HiddenField ID="hfDBAPPNO" runat="server" Value='<%# Bind("DB_APPNO") %>' />
</div>
<table border="0" cellpadding="3" cellspacing="2" style="table-layout: fixed;">
<tr>
<td colspan="1" class="widthcontrol" style="width: 275px;"></td>
<td colspan="1" class="widthcontrol" style="width: 190px;"></td>
<td colspan="1" class="widthcontrol" style="width: 110px;"></td>
<td colspan="1" class="widthcontrol" style="width: 190px;"></td>
<td colspan="1" class="widthcontrol" style="width: 110px;"></td>
<td colspan="1" class="widthcontrol" style="width: 190px;"></td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb課程企劃編號Label" runat="server" Text="課程企劃編號"></asp:Label>
</td>
<td class="datadisplay">
<asp:Label ID="lb課程企劃編號" runat="server" CssClass="inputFull"></asp:Label>
</td>
<td class="caption">
<asp:Label ID="lb課程序號Label" runat="server" Text="節次"></asp:Label>
</td>
<td class="datadisplay">
<asp:Label ID="lb節次" runat="server" CssClass="inputFull"></asp:Label>
</td>
<td class="caption">
<asp:Label ID="lb講師Label" runat="server" Text="講師"></asp:Label>
</td>
<td class="datadisplay">
<asp:Label ID="lb講師" runat="server" CssClass="inputFull"></asp:Label>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb應到人數Label" runat="server" Text="應到人數"></asp:Label>
</td>
<td class="datainput">
<asp:TextBox ID="txt應到人數" runat="server" Text='<%# Bind("應到人數") %>' MaxLength="2"
CssClass="inputFull">
</asp:TextBox>
</td>
<td class="caption">
<asp:Label ID="lb實到人數Label" runat="server" Text="實到人數"></asp:Label>
</td>
<td class="datainput">
<asp:TextBox ID="txt實到人數" runat="server" Text='<%# Bind("實到人數") %>' MaxLength="2"
CssClass="inputFull">
</asp:TextBox>
</td>
<td class="caption">
<asp:Label ID="lb缺席人數Label" runat="server" Text="缺席人數"></asp:Label>
</td>
<td class="datainput">
<asp:TextBox ID="txt缺席人數" runat="server" Text='<%# Bind("缺席人數") %>' MaxLength="2"
CssClass="inputFull" Style="width: 80px">
</asp:TextBox>
</td>
</tr>
<tr>
<td colspan="6" style="background-color: #e8f0fe; font-weight: bold; padding: 6px 8px;">課程執行觀察 (請依課程現場觀察,勾選最符合本次課程執行情形之選項)
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察01Label" runat="server" Text="1.課程是否依原訂計畫執行"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:RadioButtonList ID="ddl觀察01" runat="server" SelectedValue='<%# Bind("課程執行觀察_01") %>'
DataSourceID="ds觀察01" DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatColumns="6" RepeatLayout="Table">
</asp:RadioButtonList>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察02Label" runat="server" Text="2.課程進度"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:RadioButtonList ID="ddl觀察02" runat="server" SelectedValue='<%# Bind("課程執行觀察_02") %>'
DataSourceID="ds觀察02" DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatColumns="6" RepeatLayout="Table">
</asp:RadioButtonList>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察03Label" runat="server" Text="3.講師授課情形"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:RadioButtonList ID="ddl觀察03" runat="server" SelectedValue='<%# Bind("課程執行觀察_03") %>'
DataSourceID="ds觀察03" DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatColumns="6" RepeatLayout="Table">
</asp:RadioButtonList>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察04Label" runat="server" Text="4.學員參與互動"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:RadioButtonList ID="ddl觀察04" runat="server" SelectedValue='<%# Bind("課程執行觀察_04") %>'
DataSourceID="ds觀察04" DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatColumns="6" RepeatLayout="Table">
</asp:RadioButtonList>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察05Label" runat="server" Text="5.學員學習投入"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:RadioButtonList ID="ddl觀察05" runat="server" SelectedValue='<%# Bind("課程執行觀察_05") %>'
DataSourceID="ds觀察05" DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatColumns="6" RepeatLayout="Table">
</asp:RadioButtonList>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察06Label" runat="server" Text="6.學員課堂回應情形"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:RadioButtonList ID="ddl觀察06" runat="server" SelectedValue='<%# Bind("課程執行觀察_06") %>'
DataSourceID="ds觀察06" DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatColumns="6" RepeatLayout="Table">
</asp:RadioButtonList>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察07Label" runat="server" Text="7.實作/活動完成情形"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:RadioButtonList ID="ddl觀察07" runat="server" SelectedValue='<%# Bind("課程執行觀察_07") %>'
DataSourceID="ds觀察07" DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatColumns="6" RepeatLayout="Table">
</asp:RadioButtonList>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察08Label" runat="server" Text="8.教學設備及場地"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:RadioButtonList ID="ddl觀察08" runat="server" SelectedValue='<%# Bind("課程執行觀察_08") %>'
DataSourceID="ds觀察08" DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatColumns="6" RepeatLayout="Table">
</asp:RadioButtonList>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察說明Label" runat="server" Text="觀察說明"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:TextBox ID="txt觀察說明" runat="server" Text='<%# Bind("課程執行觀察說明_01") %>' MaxLength="200"
TextMode="MultiLine" Rows="3" CssClass="inputFull">
</asp:TextBox>
<asp:CustomValidator ID="cv觀察說明" runat="server"
ControlToValidate="txt觀察說明" ValidateEmptyText="true" Display="Dynamic"
ErrorMessage="請填寫課程執行觀察說明。" OnServerValidate="cv觀察說明_ServerValidate" />
</td>
</tr>
<tr>
<td colspan="6" style="background-color: #e8f0fe; font-weight: bold; padding: 6px 8px;">課程觀察紀錄
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察紀錄1Label" runat="server" Text="1.本次課程值得保留或表現良好之處"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:TextBox ID="txt觀察紀錄1" runat="server" Text='<%# Bind("課程觀察紀錄_1") %>' MaxLength="200"
TextMode="MultiLine" Rows="3" CssClass="inputFull">
</asp:TextBox>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb觀察紀錄2Label" runat="server" Text="2.本次課程可改善事項及建議"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:TextBox ID="txt觀察紀錄2" runat="server" Text='<%# Bind("課程觀察紀錄_2") %>' MaxLength="200"
TextMode="MultiLine" Rows="3" CssClass="inputFull">
</asp:TextBox>
</td>
</tr>
<tr>
<td colspan="6" style="background-color: #e8f0fe; font-weight: bold; padding: 6px 8px;">異常狀況紀錄</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb異常情形Label" runat="server" Text="異常情形"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:RadioButtonList ID="ddl有無異常事項" runat="server" SelectedValue='<%# Bind("有無異常事項") %>'
DataSourceID="ds有無異常事項" DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatColumns="6" RepeatLayout="Table">
</asp:RadioButtonList>
<asp:TextBox ID="txt異常情形" runat="server" Text='<%# Bind("異常情形") %>' MaxLength="2002"
TextMode="MultiLine" Rows="3" CssClass="inputFull" Style="margin-top: 5px">
</asp:TextBox>
<div>
<button type="button" class="button gray40" onclick="togglePhrase('div片語異常情形Edit')">片語</button>
</div>
<div id="div片語異常情形Edit" class="hide">
<asp:Repeater runat="server" DataSourceID="ds片語異常情形">
<itemtemplate>
<span class="phraselink" onclick='<%# GetPhraseClientClick("txt異常情形", Eval("片語內容", "{0}")) %>'><%# Eval("片語內容") %></span>
</itemtemplate>
</asp:Repeater>
</div>
<asp:CustomValidator ID="cv異常情形" runat="server" ControlToValidate="txt異常情形"
ValidateEmptyText="true" Display="Dynamic"
ErrorMessage="選擇有異常時,請填寫異常情形。" OnServerValidate="cv異常情形_ServerValidate" />
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb處理經過與結果Label" runat="server" Text="處理過程及建議"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:TextBox ID="txt處理經過與結果" runat="server" Text='<%# Bind("處理經過與結果") %>' MaxLength="2002"
TextMode="MultiLine" Rows="4" CssClass="inputFull">
</asp:TextBox>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb是否需後續追蹤Label" runat="server" Text="是否需後續追蹤"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:RadioButtonList ID="ddl是否需後續追蹤" runat="server" SelectedValue='<%# Bind("是否需後續追蹤") %>'
DataSourceID="ds是否需後續追蹤" DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatColumns="6" RepeatLayout="Table">
</asp:RadioButtonList>
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb追蹤事項Label" runat="server" Text="追蹤事項"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:TextBox ID="txt追蹤事項" runat="server" Text='<%# Bind("追蹤事項") %>' MaxLength="200"
TextMode="MultiLine" Rows="3" CssClass="inputFull">
</asp:TextBox>
<asp:CustomValidator ID="cv追蹤事項" runat="server" ControlToValidate="txt追蹤事項"
ValidateEmptyText="true" Display="Dynamic"
ErrorMessage="選擇需要後續追蹤時,請填寫追蹤事項。" OnServerValidate="cv追蹤事項_ServerValidate" />
</td>
</tr>
<tr>
<td class="caption" style="vertical-align: top">
<asp:Label ID="lb處理結果追蹤Label" runat="server" Text="處理結果追蹤"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:TextBox ID="txt處理結果追蹤" runat="server" Text='<%# Bind("處理結果追蹤") %>' MaxLength="200" ReadOnly="true"
TextMode="MultiLine" Rows="3" CssClass="inputFull">
</asp:TextBox>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb填表人員Label" runat="server" Text="填表人員"></asp:Label>
</td>
<td class="datainput">
<weblib:lookuptextbox id="txt填表人員" runat="server" lookupconfigname="BPSN"
outputcontrol="lb填表人員X" text='<%# Bind("填表人員") %>' />
</td>
<td class="datadisplay">
<asp:Label ID="lb填表人員X" runat="server" Text='<%# Get員工姓名(Eval("填表人員")) %>'></asp:Label>
</td>
<td class="datainput">
<weblib:datetextbox id="txt填表日期" runat="server" cssclass="inputFull" dateorder="YMD"
dateseparator="" value='<%# Bind("填表日期") %>' />
</td>
<td></td>
<td></td>
</tr>
</table>
</edititemtemplate>
</asp:FormView>
<asp:LinkButton ID="btn填寫追蹤" runat="server" Text="填寫處理結果追蹤" CssClass="button green80" style="width:150px;"
OnClick="btn填寫追蹤_Click" Visible="false" />
<asp:Panel ID="pnl追蹤編輯" runat="server" Visible="false" Style="margin: 5px 0">
<div style="background-color: #fff3cd; padding: 10px; border: 1px solid #ffc107; border-radius: 8px;">
<table>
<tr>
<td class="caption">
<asp:Label ID="Label1" runat="server" Text="處理結果追蹤" Font-Bold="true"></asp:Label>
</td>
<td class="datainput" style="width: 600px">
<asp:TextBox ID="txt追蹤內容" runat="server" TextMode="MultiLine" Rows="4" CssClass="inputFull" MaxLength="200"></asp:TextBox>
</td>
</tr>
<tr>
<td></td>
<td>
<asp:LinkButton ID="btn追蹤存檔" runat="server" Text="存檔" CssClass="button blue80" OnClick="btn追蹤存檔_Click" />
<asp:LinkButton ID="btn追蹤取消" runat="server" Text="取消" CssClass="button red80" OnClick="btn追蹤取消_Click" CausesValidation="false" />
</td>
</tr>
</table>
</div>
</asp:Panel>
<asp:Panel ID="pnl送簽" runat="server">
<uc1:送簽 id="送簽1" runat="server" 表單類別="教學日誌暨異常狀況" Title="教學日誌送簽區" />
<uc1:送簽 id="送簽2" runat="server" 表單類別="處理結果追蹤" Title="處理結果追蹤送簽區" />
</asp:Panel>
</asp:Panel>
</asp:Content>
@@ -0,0 +1,370 @@
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using WebLib;
namespace Education.Forms.
{
public partial class : FormBase
{
private DAC_訓練課程內容 Dao訓練課程內容;
private DAC_教學日誌 Dao教學日誌;
private int ID;
private int ;
private bool = false;
protected void Page_Load(object sender, EventArgs e)
{
FunctionName = "教學日誌暨異常狀況登錄";
Dao訓練課程內容 = new DAC_訓練課程內容(conn);
Dao教學日誌 = new DAC_教學日誌(conn);
Form_View = FormView1;
FormView_DataSource = ds教學日誌;
if (IsPostBack)
{
Form_View.DataBind();
}
Form_View.Visible = (. > 0
&& ddl課程內容.SelectedValue != null && ddl課程內容.SelectedValue.Length > 0);
1.Send += _Changed;
1.Approved += _Changed;
1.Rejected += _Changed;
1.Canceled += _Changed;
1.Withdrawn += _Changed;
2.Send += _Changed;
2.Approved += _Changed;
2.Rejected += _Changed;
2.Canceled += _Changed;
2.Withdrawn += _Changed;
if (!Form_View.Visible || Form_View.CurrentMode != FormViewMode.ReadOnly)
{
1.Visible = false;
2.Visible = false;
}
}
private void _Changed(object sender, EventArgs e)
{
Form_View.DataBind();
}
protected void ds已上課_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao訓練課程企劃;
}
protected void ds課程內容_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao訓練課程內容;
}
protected void btn查詢1_Click(object sender, EventArgs e)
{
if (. == 0)
{
Panel1.Visible = false;
Panel2.Visible = false;
lbMessage.Text = "請選擇課程企劃";
return;
}
Panel1.Visible = true;
ddl課程內容.DataBind();
Panel2.Visible = ddl課程內容.Items.Count > 0;
}
protected void btn查詢2_Click(object sender, EventArgs e)
{
Form_View.ChangeMode(FormViewMode.ReadOnly);
Form_View.DataBind();
}
protected override void FormView_DataBound(object sender, EventArgs e)
{
if (!Form_View.Visible)
return;
//if (Form_View.PageCount == 0)
//{
// if (Form_View.CurrentMode != FormViewMode.Insert)
// {
// Form_View.ChangeMode(FormViewMode.Insert);
// Form_View.DataBind();
// return;
// }
//}
ID = .;
= DAC.GetInt32(ddl課程內容.SelectedValue);
base.FormView_DataBound(sender, e);
// DataBound 事件在 ReadOnly/Edit/Insert DataBound 之後觸發,
// 在此做最後一次送簽區塊可見性確認,避免切換課程時停留在舊狀態。
if (Form_View.CurrentMode == FormViewMode.ReadOnly && Form_View.SelectedValue != null)
{
1.Visible = true;
2.Visible = (Dao表單簽核主檔.GetLastStatus(
"教學日誌暨異常狀況", String.Format("{0}|{1}", ID, )));
}
else
{
1.Visible = false;
2.Visible = false;
}
}
private void ()
{
List d = Dao訓練課程內容.SelectOne(ID, );
if (d.Count > 0)
{
if (FindControl<ITextControl>(Form_View, "lb節次") != null)
FindControl<ITextControl>(Form_View, "lb節次").Text = d[0]..ToString();
if (FindControl<ITextControl>(Form_View, "lb講師") != null)
FindControl<ITextControl>(Form_View, "lb講師").Text = Dao訓練課程企劃.Select選定講師名稱(ID, );
}
}
protected override void FormView_InsertDataBound(object sender, EventArgs e)
{
base.FormView_InsertDataBound(sender, e);
List d = Dao訓練課程企劃.SelectOne(ID);
if (d.Count == 0)
return;
FindControl<ITextControl>(Form_View, "lb課程企劃編號").Text = d[0].;
FindControl<HiddenField>(Form_View, "hf課程序號").Value = ddl課程內容.SelectedValue;
FindControl<DateTextBox>(Form_View, "txt填表日期").Value = DateTime.UtcNow.AddHours(8).Date;
FindControl<ITextControl>(Form_View, "txt填表人員").Text = UserId;
FindControl<ITextControl>(Form_View, "lb填表人員X").Text = Get員工姓名(UserId);
();
1.Visible = false;
2.Visible = false;
btn填寫追蹤.Visible = false;
pnl追蹤編輯.Visible = false;
}
protected override void FormView_EditDataBound(object sender, EventArgs e)
{
base.FormView_EditDataBound(sender, e);
List d = Dao訓練課程企劃.SelectOne(ID);
if (d.Count == 0)
return;
FindControl<ITextControl>(Form_View, "lb課程企劃編號").Text = d[0].;
();
1.Visible = false;
2.Visible = false;
btn填寫追蹤.Visible = false;
pnl追蹤編輯.Visible = false;
}
private void Set新增欄位顯示()
{
string[] ID = { "lb觀察01", "lb觀察02", "lb觀察03", "lb觀察04", "lb觀察05", "lb觀察06", "lb觀察07", "lb觀察08", "lb觀察說明", "lb觀察紀錄1", "lb觀察紀錄2", "lb是否需後續追蹤", "lb追蹤事項", "lb處理結果追蹤" };
foreach (string ID in ID)
{
Label lb = FindControl<Label>(Form_View, ID);
if (lb != null && String.IsNullOrEmpty(lb.Text.Trim()))
{
lb.Text = "2026年新增欄位";
lb.ForeColor = System.Drawing.Color.Gray;
}
}
}
protected override void FormView_ReadOnlyDataBound(object sender, EventArgs e)
{
base.FormView_ReadOnlyDataBound(sender, e);
();
Set新增欄位顯示();
btn填寫追蹤.Visible = false;
pnl追蹤編輯.Visible = false;
= false;
if (Form_View.SelectedValue != null)
{
List d = Dao訓練課程企劃.SelectOne(ID);
if (d.Count == 0)
return;
FindControl<ITextControl>(Form_View, "lb課程企劃編號").Text = d[0].;
string ID = String.Format("{0}|{1}", ID, );
1.ID = ID;
1. = ID;
1.2 = ;
1.ID格式 = String.Format("[{0}] {1}<br>[{2}] {3}",
d[0]., d[0]., , ddl課程內容.SelectedItem.Text);
List data = ds教學日誌.Select() as List;
1. = data[0]. == UserId;
1.Refresh();
= Dao表單簽核主檔.GetLastStatus("教學日誌暨異常狀況", ID);
LinkButton btnUpdate = FindControl<LinkButton>(Form_View, "btnUpdate");
if (btnUpdate != null)
btnUpdate.Visible = !();
bool = ();
= != null
&& . == "Y"
&& ..CompareTo("D") != 0;
trackingStatus = Dao表單簽核主檔.GetLastStatus("處理結果追蹤", ID);
bool = trackingStatus != null
&& trackingStatus. == "Y"
&& trackingStatus. != "D";
if ()
{
2.ID = ID;
2. = ID;
2.2 = ;
2.ID格式 = String.Format("[{0}] {1}<br>[{2}] {3}",
d[0]., d[0]., , ddl課程內容.SelectedItem.Text);
2. = data[0]. == UserId;
2.Refresh();
btn填寫追蹤.Visible = data[0]. == UserId && !;
}
}
1.Visible = Form_View.SelectedValue != null;
2.Visible = Form_View.SelectedValue != null
&& (Dao表單簽核主檔.GetLastStatus(
"教學日誌暨異常狀況", String.Format("{0}|{1}", ID, )));
}
protected void btn填寫追蹤_Click(object sender, EventArgs e)
{
List data = ds教學日誌.Select() as List;
string ID = String.Format("{0}|{1}", ID, );
= Dao表單簽核主檔.GetLastStatus("教學日誌暨異常狀況", ID);
if (data.Count == 0 || data[0]. != UserId || !())
{
lbMessage.Text = "教學日誌暨異常狀況尚未送簽、已撤單或目前使用者無權限填寫。";
return;
}
txt追蹤內容.Text = data[0].;
btn填寫追蹤.Visible = false;
pnl追蹤編輯.Visible = true;
1.Visible = false;
2.Visible = false;
}
protected void btn追蹤存檔_Click(object sender, EventArgs e)
{
List data = ds教學日誌.Select() as List;
string ID = String.Format("{0}|{1}", ID, );
= Dao表單簽核主檔.GetLastStatus("教學日誌暨異常狀況", ID);
if (data.Count == 0 || data[0]. != UserId || !())
{
lbMessage.Text = "教學日誌暨異常狀況尚未送簽、已撤單或目前使用者無權限填寫。";
pnl追蹤編輯.Visible = false;
Form_View.DataBind();
return;
}
trackingStatus = Dao表單簽核主檔.GetLastStatus("處理結果追蹤", ID);
if (trackingStatus != null && trackingStatus. == "Y" && trackingStatus. != "D")
{
lbMessage.Text = "處理結果追蹤已完成簽核,不可修改。";
pnl追蹤編輯.Visible = false;
Form_View.DataBind();
return;
}
if (String.IsNullOrEmpty(txt追蹤內容.Text.Trim()))
{
lbMessage.Text = "請輸入處理結果追蹤。";
return;
}
Dao教學日誌.Update處理結果追蹤(ID, , txt追蹤內容.Text);
pnl追蹤編輯.Visible = false;
Form_View.DataBind();
}
protected void btn追蹤取消_Click(object sender, EventArgs e)
{
pnl追蹤編輯.Visible = false;
Form_View.DataBind();
}
protected void FormView1_ItemInserting(object sender, FormViewInsertEventArgs e)
{
e.Values["課程企劃編號"] = ID;
e.Values["處理結果追蹤"] = "";
}
protected void FormView1_ItemUpdating(object sender, FormViewUpdateEventArgs e)
{
string ID = String.Format("{0}|{1}", ID, );
status = Dao表單簽核主檔.GetLastStatus("教學日誌暨異常狀況", ID);
if ((status))
{
e.Cancel = true;
lbMessage.Text = "教學日誌暨異常狀況已送簽,不可更正。";
Form_View.ChangeMode(FormViewMode.ReadOnly);
Form_View.DataBind();
return;
}
List data = ds教學日誌.Select() as List;
if (data.Count > 0)
e.NewValues["處理結果追蹤"] = data[0].;
}
protected void cv觀察說明_ServerValidate(object source, ServerValidateEventArgs args)
{
args.IsValid = !String.IsNullOrEmpty(FindFormValue(source, "txt觀察說明").Trim());
}
protected void cv異常情形_ServerValidate(object source, ServerValidateEventArgs args)
{
args.IsValid = FindFormValue(source, "ddl有無異常事項") == "0"
|| !String.IsNullOrEmpty(FindFormValue(source, "txt異常情形").Trim());
}
protected void cv追蹤事項_ServerValidate(object source, ServerValidateEventArgs args)
{
args.IsValid = FindFormValue(source, "ddl是否需後續追蹤") == "0"
|| FindFormValue(source, "ddl是否需後續追蹤") == "1"
|| !String.IsNullOrEmpty(FindFormValue(source, "txt追蹤事項").Trim());
}
private bool ( status)
{
return status != null
&& !(status. == "D" && status. == "D");
}
protected void ds課程內容_Selected(object sender, ObjectDataSourceStatusEventArgs e)
{
// 只有在尚未顯示可送簽的日誌時才隱藏送簽區,避免覆寫已正確顯示的區塊
if (Form_View.CurrentMode != FormViewMode.ReadOnly || Form_View.SelectedValue == null)
{
1.Visible = false;
2.Visible = false;
}
}
}
}
@@ -0,0 +1,287 @@
//------------------------------------------------------------------------------
// <自動產生>
// 這段程式碼是由工具產生的。
//
// 變更這個檔案可能會導致不正確的行為,而且如果已重新產生
// 程式碼,則會遺失變更。
// </自動產生>
//------------------------------------------------------------------------------
namespace Education.Forms.
{
public partial class
{
/// <summary>
/// ds課程內容 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds課程內容;
/// <summary>
/// ds教學日誌 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds教學日誌;
/// <summary>
/// ds觀察01 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds觀察01;
/// <summary>
/// ds觀察02 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds觀察02;
/// <summary>
/// ds觀察03 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds觀察03;
/// <summary>
/// ds觀察04 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds觀察04;
/// <summary>
/// ds觀察05 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds觀察05;
/// <summary>
/// ds觀察06 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds觀察06;
/// <summary>
/// ds觀察07 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds觀察07;
/// <summary>
/// ds觀察08 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds觀察08;
/// <summary>
/// ds有無異常事項 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds有無異常事項;
/// <summary>
/// ds是否需後續追蹤 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds是否需後續追蹤;
/// <summary>
/// ds片語異常情形 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds片語異常情形;
/// <summary>
/// 訓練企劃搜尋 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::Education.Forms.Common. ;
/// <summary>
/// lbMessage 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbMessage;
/// <summary>
/// Panel1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Panel Panel1;
/// <summary>
/// Panel2 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Panel Panel2;
/// <summary>
/// Label10 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label10;
/// <summary>
/// ddl課程內容 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::WebLib.WDropDownList ddl課程內容;
/// <summary>
/// btn查詢2 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btn查詢2;
/// <summary>
/// FormView1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.FormView FormView1;
/// <summary>
/// btn填寫追蹤 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btn填寫追蹤;
/// <summary>
/// pnl追蹤編輯 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Panel pnl追蹤編輯;
/// <summary>
/// Label1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label1;
/// <summary>
/// txt追蹤內容 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txt追蹤內容;
/// <summary>
/// btn追蹤存檔 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btn追蹤存檔;
/// <summary>
/// btn追蹤取消 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btn追蹤取消;
/// <summary>
/// pnl送簽 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Panel pnl送簽;
/// <summary>
/// 送簽1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::Education.Forms.. 1;
/// <summary>
/// 送簽2 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::Education.Forms.. 2;
}
}
@@ -0,0 +1,243 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/PopupForm.Master" AutoEventWireup="true"
CodeBehind="滿意度調查表及心得報告.aspx.cs" Inherits="Education.Forms.辦訓狀況.滿意度調查表及心得報告" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:HiddenField ID="hf學員" runat="server" />
<asp:HiddenField ID="hf課程編號" runat="server" />
<asp:ObjectDataSource ID="ds課程內容" runat="server" OldValuesParameterFormatString="original_{0}"
SelectMethod="SelectBy課程企劃" TypeName="Education.DAC_訓練課程內容" OnObjectCreating="ds課程內容_ObjectCreating">
<SelectParameters>
<asp:ControlParameter ControlID="hf課程編號" Name="訓練課程企劃編號" PropertyName="Value" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="0">
<asp:View ID="View1" runat="server">
<table>
<tr>
<td class="caption">
<asp:Label ID="Label11" runat="server" Text="課程企劃"></asp:Label>
</td>
<td class="datadisplay">
<asp:Label ID="lb課程企劃" runat="server"></asp:Label>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="Label12" runat="server" Text="學員"></asp:Label>
</td>
<td class="datadisplay">
<asp:Label ID="lb學員" runat="server"></asp:Label>
</td>
</tr>
</table>
<asp:DataList ID="DataList1" runat="server" DataSourceID="ds課程內容" OnItemCreated="DataList1_ItemCreated">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td class="datainput" colspan="7">
<asp:HiddenField ID="hf課程序號" runat="server" Value='<%# Bind("課程序號") %>' />
<asp:Label ID="lb課程名稱" runat="server" Text='<%# String.Format("課程 {0}{1}", Eval("節次"), Eval("課程名稱")) %>'
Font-Bold="True" ForeColor="Blue"></asp:Label>
</td>
</tr>
<tr>
<td class="datainput">&nbsp;&nbsp;</td>
<td class="datainput">1.課程的實用性</td>
<td class="datainput" style="text-align: center; vertical-align: top;">
<asp:RadioButtonList ID="rbl1" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Text="未選擇&nbsp;&nbsp;" Value=""></asp:ListItem>
<asp:ListItem Text="非常滿意&nbsp;&nbsp;" Value="5"></asp:ListItem>
<asp:ListItem Text="滿意&nbsp;&nbsp;" Value="4"></asp:ListItem>
<asp:ListItem Text="普通&nbsp;&nbsp;" Value="3"></asp:ListItem>
<asp:ListItem Text="不滿意&nbsp;&nbsp;" Value="2"></asp:ListItem>
<asp:ListItem Text="非常不滿意&nbsp;&nbsp;" Value="1"></asp:ListItem>
</asp:RadioButtonList>
</td>
<td class="datainput" style="text-align: center; vertical-align: top;">
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="請選擇"
Display="Dynamic"
CssClass="ErrorMessage" ControlToValidate="rbl1"></asp:RequiredFieldValidator>
<asp:Label ID="lbMessage1" runat="server" Text="" EnableViewState="false" CssClass="ErrorMessage"></asp:Label>
</td>
</tr>
<tr>
<td class="datainput">&nbsp;&nbsp;</td>
<td class="datainput">2.講師的授課方式</td>
<td class="datainput" style="text-align: center; vertical-align: top;">
<asp:RadioButtonList ID="rbl2" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Text="未選擇&nbsp;&nbsp;" Value=""></asp:ListItem>
<asp:ListItem Text="非常滿意&nbsp;&nbsp;" Value="5"></asp:ListItem>
<asp:ListItem Text="滿意&nbsp;&nbsp;" Value="4"></asp:ListItem>
<asp:ListItem Text="普通&nbsp;&nbsp;" Value="3"></asp:ListItem>
<asp:ListItem Text="不滿意&nbsp;&nbsp;" Value="2"></asp:ListItem>
<asp:ListItem Text="非常不滿意&nbsp;&nbsp;" Value="1"></asp:ListItem>
</asp:RadioButtonList>
</td>
<td class="datainput" style="text-align: center; vertical-align: top;">
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="請選擇"
Display="Dynamic"
CssClass="ErrorMessage" ControlToValidate="rbl2"></asp:RequiredFieldValidator>
<asp:Label ID="lbMessage2" runat="server" Text="" EnableViewState="false" CssClass="ErrorMessage"></asp:Label>
</td>
</tr>
<tr>
<td class="datainput">&nbsp;&nbsp;</td>
<td class="datainput">3.講師的專業知識</td>
<td class="datainput" style="text-align: center; vertical-align: top;">
<asp:RadioButtonList ID="rbl3" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Text="未選擇&nbsp;&nbsp;" Value=""></asp:ListItem>
<asp:ListItem Text="非常滿意&nbsp;&nbsp;" Value="5"></asp:ListItem>
<asp:ListItem Text="滿意&nbsp;&nbsp;" Value="4"></asp:ListItem>
<asp:ListItem Text="普通&nbsp;&nbsp;" Value="3"></asp:ListItem>
<asp:ListItem Text="不滿意&nbsp;&nbsp;" Value="2"></asp:ListItem>
<asp:ListItem Text="非常不滿意&nbsp;&nbsp;" Value="1"></asp:ListItem>
</asp:RadioButtonList>
</td>
<td class="datainput" style="text-align: center; vertical-align: top;">
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ErrorMessage="請選擇"
Display="Dynamic"
CssClass="ErrorMessage" ControlToValidate="rbl3"></asp:RequiredFieldValidator>
<asp:Label ID="lbMessage3" runat="server" Text="" EnableViewState="false" CssClass="ErrorMessage"></asp:Label>
</td>
</tr>
<tr>
<td class="datainput">&nbsp;&nbsp;</td>
<td class="datainput">4.課程時數安排</td>
<td class="datainput" style="text-align: center; vertical-align: top;">
<asp:RadioButtonList ID="rbl4" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Text="未選擇&nbsp;&nbsp;" Value=""></asp:ListItem>
<asp:ListItem Text="非常滿意&nbsp;&nbsp;" Value="5"></asp:ListItem>
<asp:ListItem Text="滿意&nbsp;&nbsp;" Value="4"></asp:ListItem>
<asp:ListItem Text="普通&nbsp;&nbsp;" Value="3"></asp:ListItem>
<asp:ListItem Text="不滿意&nbsp;&nbsp;" Value="2"></asp:ListItem>
<asp:ListItem Text="非常不滿意&nbsp;&nbsp;" Value="1"></asp:ListItem>
</asp:RadioButtonList>
</td>
<td class="datainput" style="text-align: center; vertical-align: top;">
<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ErrorMessage="請選擇"
Display="Dynamic"
CssClass="ErrorMessage" ControlToValidate="rbl4"></asp:RequiredFieldValidator>
<asp:Label ID="lbMessage4" runat="server" Text="" EnableViewState="false" CssClass="ErrorMessage"></asp:Label>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
<tr>
<td class="datainput" colspan="7">
<asp:Label ID="Label1" runat="server" Text="其它評價" Font-Bold="true" ForeColor="Blue"></asp:Label>
</td>
</tr>
<tr>
<td class="datainput">&nbsp;&nbsp;</td>
<td class="datainput">1.行政服務品質</td>
<td class="datainput" style="text-align: center; vertical-align: top;">
<asp:RadioButtonList ID="rbl1" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Text="未選擇&nbsp;&nbsp;" Value=""></asp:ListItem>
<asp:ListItem Text="非常滿意&nbsp;&nbsp;" Value="5"></asp:ListItem>
<asp:ListItem Text="滿意&nbsp;&nbsp;" Value="4"></asp:ListItem>
<asp:ListItem Text="普通&nbsp;&nbsp;" Value="3"></asp:ListItem>
<asp:ListItem Text="不滿意&nbsp;&nbsp;" Value="2"></asp:ListItem>
<asp:ListItem Text="非常不滿意&nbsp;&nbsp;" Value="1"></asp:ListItem>
</asp:RadioButtonList>
</td>
<td class="datainput" style="text-align: center; vertical-align: top;">
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="請選擇"
Display="Dynamic"
CssClass="ErrorMessage" ControlToValidate="rbl1"></asp:RequiredFieldValidator>
<asp:Label ID="lbMessage1" runat="server" Text="" EnableViewState="false" CssClass="ErrorMessage"></asp:Label>
</td>
</tr>
<tr>
<td class="datainput">&nbsp;&nbsp;</td>
<td class="datainput">2.餐點及茶飲</td>
<td class="datainput" style="text-align: center; vertical-align: top;">
<asp:RadioButtonList ID="rbl2" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Text="未選擇&nbsp;&nbsp;" Value=""></asp:ListItem>
<asp:ListItem Text="非常滿意&nbsp;&nbsp;" Value="5"></asp:ListItem>
<asp:ListItem Text="滿意&nbsp;&nbsp;" Value="4"></asp:ListItem>
<asp:ListItem Text="普通&nbsp;&nbsp;" Value="3"></asp:ListItem>
<asp:ListItem Text="不滿意&nbsp;&nbsp;" Value="2"></asp:ListItem>
<asp:ListItem Text="非常不滿意&nbsp;&nbsp;" Value="1"></asp:ListItem>
</asp:RadioButtonList>
</td>
<td class="datainput" style="text-align: center; vertical-align: top;">
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="請選擇"
Display="Dynamic"
CssClass="ErrorMessage" ControlToValidate="rbl2"></asp:RequiredFieldValidator>
<asp:Label ID="lbMessage2" runat="server" Text="" EnableViewState="false" CssClass="ErrorMessage"></asp:Label>
</td>
</tr>
<tr>
<td class="datainput">&nbsp;&nbsp;</td>
<td class="datainput">3.場地滿意度</td>
<td class="datainput" style="text-align: center; vertical-align: top;">
<asp:RadioButtonList ID="rbl3" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Text="未選擇&nbsp;&nbsp;" Value=""></asp:ListItem>
<asp:ListItem Text="非常滿意&nbsp;&nbsp;" Value="5"></asp:ListItem>
<asp:ListItem Text="滿意&nbsp;&nbsp;" Value="4"></asp:ListItem>
<asp:ListItem Text="普通&nbsp;&nbsp;" Value="3"></asp:ListItem>
<asp:ListItem Text="不滿意&nbsp;&nbsp;" Value="2"></asp:ListItem>
<asp:ListItem Text="非常不滿意&nbsp;&nbsp;" Value="1"></asp:ListItem>
</asp:RadioButtonList>
</td>
<td class="datainput" style="text-align: center; vertical-align: top;">
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ErrorMessage="請選擇"
Display="Dynamic"
CssClass="ErrorMessage" ControlToValidate="rbl3"></asp:RequiredFieldValidator>
<asp:Label ID="lbMessage3" runat="server" Text="" EnableViewState="false" CssClass="ErrorMessage"></asp:Label>
</td>
</tr>
<tr>
<td class="datainput">&nbsp;&nbsp;</td>
<td class="datainput">4.對整體活動表現</td>
<td class="datainput" style="text-align: center; vertical-align: top;">
<asp:RadioButtonList ID="rbl4" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Text="未選擇&nbsp;&nbsp;" Value=""></asp:ListItem>
<asp:ListItem Text="非常滿意&nbsp;&nbsp;" Value="5"></asp:ListItem>
<asp:ListItem Text="滿意&nbsp;&nbsp;" Value="4"></asp:ListItem>
<asp:ListItem Text="普通&nbsp;&nbsp;" Value="3"></asp:ListItem>
<asp:ListItem Text="不滿意&nbsp;&nbsp;" Value="2"></asp:ListItem>
<asp:ListItem Text="非常不滿意&nbsp;&nbsp;" Value="1"></asp:ListItem>
</asp:RadioButtonList>
</td>
<td class="datainput" style="text-align: center; vertical-align: top;">
<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ErrorMessage="請選擇"
Display="Dynamic"
CssClass="ErrorMessage" ControlToValidate="rbl4"></asp:RequiredFieldValidator>
<asp:Label ID="lbMessage4" runat="server" Text="" EnableViewState="false" CssClass="ErrorMessage"></asp:Label>
</td>
</tr>
</table>
</FooterTemplate>
</asp:DataList>
<br />
<asp:Label ID="Label9" runat="server" Font-Bold="True" ForeColor="Blue" Text="針對未來相關課程,煩請提供建議以做為我們後續課程之規劃。"></asp:Label>
&nbsp;<br />
&nbsp;<asp:TextBox ID="txt建議" runat="server" Columns="80"
Font-Size="12pt" Rows="10" TextMode="MultiLine"></asp:TextBox>
<br />
<br />
<asp:Label ID="Label10" runat="server" Font-Bold="True" ForeColor="Blue"
Text="上課心得摘要(200字~500字內)"></asp:Label>
&nbsp;<asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server" ErrorMessage="請填寫"
ControlToValidate="txt心得" CssClass="ErrorMessage" Display="Dynamic"></asp:RequiredFieldValidator><br />
&nbsp;<asp:TextBox ID="txt心得" runat="server" Columns="80" Rows="10" TextMode="MultiLine"
Font-Size="12pt"></asp:TextBox>
<br />
<br />
<asp:LinkButton ID="btnSave1" runat="server" CssClass="button blue100" OnClick="btnSave_Click">確定儲存</asp:LinkButton>&nbsp;
<asp:Label ID="lbMessage1" runat="server" Text="" EnableViewState="false" CssClass="ErrorMessage"></asp:Label>
</asp:View>
<asp:View ID="View2" runat="server">
<div style="margin-top: 50px; text-align: center">
<h3>填寫完畢。感謝您!<br />
<br />
請關閉此視窗</h3>
</div>
</asp:View>
</asp:MultiView>
</asp:Content>
@@ -0,0 +1,174 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using WebLib;
namespace Education.Forms.
{
public partial class 滿調 : FormBase
{
private DAC_滿意度調查 Dao滿意度調查;
private DAC_心得報告 Dao心得報告;
private DAC_訓練課程內容 Dao訓練課程內容;
private DataListItem footerItem;
private int ID;
private string ID;
protected void Page_Load(object sender, EventArgs e)
{
FunctionName = "滿意度調查表及心得報告";
Dao滿意度調查 = new DAC_滿意度調查(conn);
Dao心得報告 = new DAC_心得報告(conn);
Dao訓練課程內容 = new DAC_訓練課程內容(conn);
hf課程編號.Value = Request["course"];
hf學員.Value = Request["student"];
ID = DAC.GetInt32(hf課程編號.Value);
ID = hf學員.Value;
if (!IsPostBack)
{
List d1 = Dao訓練課程企劃.SelectOne(ID);
if (d1.Count > 0)
{
lb課程企劃.Text = String.Format("{0} {1}", d1[0]., d1[0].);
}
lb學員.Text = String.Format("{0} {1}", ID, Get員工姓名(ID));
List d = Dao心得報告.Select(false, ID, ID);
if (d.Count > 0)
{
txt心得.Text = d[0].;
txt建議.Text = d[0].;
}
else
{
txt心得.Text = "";
txt建議.Text = "";
}
DataList1.ItemDataBound += new DataListItemEventHandler(DataList1_ItemDataBound);
}
else
{
DataList1.ItemDataBound -= new DataListItemEventHandler(DataList1_ItemDataBound);
DataList1.DataBind();
}
if (Master is PopupForm popupForm)
{
popupForm.RefreshOpener = true;
}
}
protected void btnSave_Click(object sender, EventArgs e)
{
if (!IsValid)
{
lbMessage1.Text = "尚有項目未填寫完整,請填寫完整再儲存!";
ClientShowMessage("尚有項目未填寫完整,請填寫完整再儲存!");
return;
}
DAC_滿意度調查講師 Dao滿意度調查講師 = new DAC_滿意度調查講師(conn);
foreach (DataListItem item in DataList1.Items)
{
int = DAC.GetInt32(FindControl<HiddenField>(item, "hf課程序號").Value);
RadioButtonList rbl1 = FindControl<RadioButtonList>(item, "rbl1");
RadioButtonList rbl2 = FindControl<RadioButtonList>(item, "rbl2");
RadioButtonList rbl3 = FindControl<RadioButtonList>(item, "rbl3");
RadioButtonList rbl4 = FindControl<RadioButtonList>(item, "rbl4");
Dao滿意度調查.Update(ID, ID, , 1, DAC.GetInt32(rbl1.SelectedValue), UserId);
Dao滿意度調查.Update(ID, ID, , 2, DAC.GetInt32(rbl2.SelectedValue), UserId);
Dao滿意度調查.Update(ID, ID, , 3, DAC.GetInt32(rbl3.SelectedValue), UserId);
Dao滿意度調查.Update(ID, ID, , 4, DAC.GetInt32(rbl4.SelectedValue), UserId);
Dao滿意度調查講師.Update(ID, ID, , UserId);
}
RadioButtonList frbl1 = FindControl<RadioButtonList>(footerItem, "rbl1");
RadioButtonList frbl2 = FindControl<RadioButtonList>(footerItem, "rbl2");
RadioButtonList frbl3 = FindControl<RadioButtonList>(footerItem, "rbl3");
RadioButtonList frbl4 = FindControl<RadioButtonList>(footerItem, "rbl4");
Dao滿意度調查.Update(ID, ID, 0, 1, DAC.GetInt32(frbl1.SelectedValue), UserId);
Dao滿意度調查.Update(ID, ID, 0, 2, DAC.GetInt32(frbl2.SelectedValue), UserId);
Dao滿意度調查.Update(ID, ID, 0, 3, DAC.GetInt32(frbl3.SelectedValue), UserId);
Dao滿意度調查.Update(ID, ID, 0, 4, DAC.GetInt32(frbl4.SelectedValue), UserId);
new DAC_滿意度調查課程企劃(conn).Update(ID, ID, UserId);
Dao心得報告.Update(ID, ID, txt建議.Text, txt心得.Text, UserId);
MultiView1.ActiveViewIndex = 1;
}
protected void DataList1_ItemCreated(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Footer)
{
footerItem = e.Item;
}
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Footer)
{
RadioButtonList rbl1 = FindControl<RadioButtonList>(e.Item, "rbl1");
RadioButtonList rbl2 = FindControl<RadioButtonList>(e.Item, "rbl2");
RadioButtonList rbl3 = FindControl<RadioButtonList>(e.Item, "rbl3");
RadioButtonList rbl4 = FindControl<RadioButtonList>(e.Item, "rbl4");
rbl1.Items[0].Attributes["style"] = "display:none";
rbl2.Items[0].Attributes["style"] = "display:none";
rbl3.Items[0].Attributes["style"] = "display:none";
rbl4.Items[0].Attributes["style"] = "display:none";
}
}
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem ||
e.Item.ItemType == ListItemType.Footer)
{
RadioButtonList rbl1 = FindControl<RadioButtonList>(e.Item, "rbl1");
RadioButtonList rbl2 = FindControl<RadioButtonList>(e.Item, "rbl2");
RadioButtonList rbl3 = FindControl<RadioButtonList>(e.Item, "rbl3");
RadioButtonList rbl4 = FindControl<RadioButtonList>(e.Item, "rbl4");
int = 0;
if (e.Item.ItemType != ListItemType.Footer)
= DAC.GetInt32(FindControl<HiddenField>(e.Item, "hf課程序號").Value);
滿調List d1 = Dao滿意度調查.SelectOne(ID, ID, , 1);
滿調List d2 = Dao滿意度調查.SelectOne(ID, ID, , 2);
滿調List d3 = Dao滿意度調查.SelectOne(ID, ID, , 3);
滿調List d4 = Dao滿意度調查.SelectOne(ID, ID, , 4);
if (d1.Count > 0)
rbl1.SelectedValue = DAC.GetString(d1[0].);
else
rbl1.SelectedValue = "";
if (d2.Count > 0)
rbl2.SelectedValue = DAC.GetString(d2[0].);
else
rbl2.SelectedValue = "";
if (d3.Count > 0)
rbl3.SelectedValue = DAC.GetString(d3[0].);
else
rbl3.SelectedValue = "";
if (d4.Count > 0)
rbl4.SelectedValue = DAC.GetString(d4[0].);
else
rbl4.SelectedValue = "";
}
}
protected void ds課程內容_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao訓練課程內容;
}
}
}
@@ -0,0 +1,179 @@
//------------------------------------------------------------------------------
// <自動產生>
// 這段程式碼是由工具產生的。
//
// 變更這個檔案可能會導致不正確的行為,而且如果已重新產生
// 程式碼,則會遺失變更。
// </自動產生>
//------------------------------------------------------------------------------
namespace Education.Forms.
{
public partial class 滿調
{
/// <summary>
/// hf學員 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hf學員;
/// <summary>
/// hf課程編號 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hf課程編號;
/// <summary>
/// ds課程內容 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds課程內容;
/// <summary>
/// MultiView1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.MultiView MultiView1;
/// <summary>
/// View1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.View View1;
/// <summary>
/// Label11 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label11;
/// <summary>
/// lb課程企劃 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lb課程企劃;
/// <summary>
/// Label12 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label12;
/// <summary>
/// lb學員 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lb學員;
/// <summary>
/// DataList1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.DataList DataList1;
/// <summary>
/// Label9 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label9;
/// <summary>
/// txt建議 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txt建議;
/// <summary>
/// Label10 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label10;
/// <summary>
/// RequiredFieldValidator6 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator6;
/// <summary>
/// txt心得 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txt心得;
/// <summary>
/// btnSave1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btnSave1;
/// <summary>
/// lbMessage1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbMessage1;
/// <summary>
/// View2 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.View View2;
}
}
@@ -0,0 +1,111 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site2.Master" AutoEventWireup="true"
CodeBehind="滿意度調查表填寫狀況.aspx.cs" Inherits="Education.Forms.辦訓狀況.滿意度調查表填寫狀況" %>
<%@ Register Assembly="WebLib" Namespace="WebLib" TagPrefix="weblib" %>
<%@ Register Src="../Common/訓練企劃搜尋.ascx" TagName="訓練企劃搜尋" TagPrefix="uc1" %>
<%@ Register Src="UC出席狀況.ascx" TagName="UC出席狀況" TagPrefix="uc2" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:ObjectDataSource ID="ds計畫" runat="server" OldValuesParameterFormatString="original_{0}"
SelectMethod="Select確定報名學員計畫" TypeName="Education.DAC_課程報名"
OnObjectCreating="ds計畫_ObjectCreating">
<SelectParameters>
<asp:ControlParameter ControlID="訓練企劃搜尋" Name="訓練課程編號" PropertyName="訓練企劃編號"
Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds報名學員" runat="server" OldValuesParameterFormatString="original_{0}"
OnObjectCreating="ds報名學員_ObjectCreating" SelectMethod="Select確定報名學員名單"
TypeName="Education.DAC_課程報名">
<SelectParameters>
<asp:ControlParameter ControlID="訓練企劃搜尋" Name="訓練課程編號" PropertyName="訓練企劃編號"
Type="Int32" />
<asp:ControlParameter ControlID="ddl計畫" Name="計畫年度編號" PropertyName="SelectedValue"
Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
<uc1:訓練企劃搜尋 ID="訓練企劃搜尋" runat="server" 包含已結案="True" OnClick="btn查詢_Click"
訓練企劃狀態="已上課未結案" />
<asp:Label ID="lbMessage" runat="server" CssClass="ErrorMessage" EnableViewState="False"></asp:Label>
<asp:Panel ID="Panel1" runat="server" Visible="false">
<table>
<tr>
<td class="caption">
<asp:Label ID="Label25" runat="server" Text="計畫"></asp:Label></td>
<td class="datainput">
<weblib:WDropDownList ID="ddl計畫" runat="server" DataSourceID="ds計畫" DataTextField="計畫年度名稱"
DataValueField="計畫年度編號">
</weblib:WDropDownList>
<asp:LinkButton ID="btn查詢學員" runat="server" CssClass="button blue120" OnClick="btn查詢學員_Click">查詢填寫狀況</asp:LinkButton>
&nbsp;<asp:LinkButton ID="btn匯出滿意度調查" runat="server" CssClass="button green120" OnClick="btn匯出滿意度調查_Click">匯出滿意度調查</asp:LinkButton>
&nbsp;<asp:Label ID="lbMessage1" runat="server" CssClass="ErrorMessage" EnableViewState="False"></asp:Label>
<br />
<asp:Label ID="lbMessage2" runat="server" EnableViewState="False" Font-Size="9pt"
ForeColor="Red">(承辦人員填寫之後,請重新查詢填寫狀況)</asp:Label>
</td>
</tr>
</table>
<asp:GridView ID="gv學員" runat="server" AutoGenerateColumns="False" DataSourceID="ds報名學員"
EnableModelValidation="True"
DataKeyNames="學員編號" AllowPaging="True" OnRowCommand="gv學員_RowCommand">
<Columns>
<asp:BoundField HeaderText="員工編號" DataField="學員編號" SortExpression="學員編號">
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:TemplateField HeaderText="學員姓名">
<ItemTemplate>
<asp:Label ID="lb學員姓名" runat="server" Text='<%# Bind("學員姓名") %>'></asp:Label>
<asp:HiddenField ID="hf學員編號" runat="server" Value='<%# Bind("學員編號") %>' />
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:BoundField HeaderText="單位" DataField="站別名稱" SortExpression="站別名稱">
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField HeaderText="職務" DataField="職務名稱" SortExpression="職務名稱">
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:TemplateField HeaderText="出席狀況">
<ItemTemplate>
<uc2:UC出席狀況 ID="UC出席狀況1" runat="server" 訓練課程編號='<%# Bind("訓練課程編號") %>' 學員編號='<%# Bind("學員編號") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="填寫狀況">
<ItemTemplate>
<asp:Label ID="Label2" runat="server"
ForeColor='<%# WebLib.DAC.GetInt32(Eval("填寫數")) > 0 ? System.Drawing.Color.Blue : System.Drawing.Color.Red %>'
Text='<%# WebLib.DAC.GetInt32(Eval("填寫數")) > 0 ? "已填寫" : "未填寫" %>'></asp:Label>&nbsp;
<asp:LinkButton ID="btn滿意度" runat="server" CssClass="button blue100"
OnClientClick='<%# GetOpenWindowJS("~/Forms/辦訓狀況/滿意度調查表及心得報告.aspx", "_feedback", "course", Eval("訓練課程編號"), "student", Eval("學員編號")) %>'>填寫/檢視</asp:LinkButton>
<asp:LinkButton ID="btnDel滿意度" runat="server"
CommandArgument='<%# Eval("學員編號", "{0}") + "|" + Eval("心得報告編號", "{0}") %>'
CommandName="Del滿意度" CssClass="button red60"
Enabled='<%# WebLib.DAC.GetInt32(Eval("填寫數")) > 0 %>'
OnClientClick="return confirm(&quot;是否確定刪除此張滿意度調查表?&quot;)">刪除</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="心得上架及討論管理">
<ItemTemplate>
<asp:Panel ID="Panel71" runat="server" Visible='<%# WebLib.DAC.GetInt32(Eval("填寫數")) > 0 %>'>
<asp:Label ID="Label3" runat="server"
Text='<%# Eval("心得上架", "{0}") == "Y" ? "已上架" : "未上架" %>'
ForeColor='<%# Eval("心得上架", "{0}") == "Y" ? System.Drawing.Color.Blue : System.Drawing.Color.Black %>'></asp:Label>&nbsp;
<asp:LinkButton ID="btn上架" runat="server" CssClass="button green60" CommandName="上架"
CommandArgument='<%# Eval("心得報告編號") %>'>上架</asp:LinkButton>
<asp:LinkButton ID="btn下架" runat="server" CssClass="button red60" CommandName="下架"
CommandArgument='<%# Eval("心得報告編號") %>'>下架</asp:LinkButton>
<asp:LinkButton ID="btn討論管理" runat="server" CssClass="button blue80"
OnClientClick='<%# GetOpenWindowJS("~/Forms/辦訓狀況/心得報告討論管理.aspx", "_feedbackmgmt", "id", Eval("心得報告編號")) %>'
Visible='<%# Get討論數(Eval("心得報告編號")) > 0 %>'>
討論管理</asp:LinkButton>
</asp:Panel>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerTemplate>
<weblib:GridViewPager ID="GridViewPager1" runat="server" />
</PagerTemplate>
</asp:GridView>
</asp:Panel>
</asp:Content>
@@ -0,0 +1,132 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using WebLib;
namespace Education.Forms.
{
public partial class 滿調 : FormBase
{
private DAC_心得報告 Dao心得報告;
private DAC_心得報告討論 Dao心得報告討論;
private DAC_滿意度調查 Dao滿意度調查;
private DAC_訓練課程內容 Dao訓練課程內容;
protected void Page_Load(object sender, EventArgs e)
{
FunctionName = "滿意度調查表填寫狀況";
Dao心得報告 = new DAC_心得報告(conn);
Dao心得報告討論 = new DAC_心得報告討論(conn);
Dao滿意度調查 = new DAC_滿意度調查(conn);
Dao訓練課程內容 = new DAC_訓練課程內容(conn);
if (IsPostBack)
gv學員.DataBind();
gv學員.Columns[6].Visible = IsManager;
RegisterPostbackTrigger(btn匯出滿意度調查);
}
protected void ds已上課_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao訓練課程企劃;
}
protected void ds計畫_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao課程報名;
}
protected void ds報名學員_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao課程報名;
}
protected void btn查詢_Click(object sender, EventArgs e)
{
if (. == 0)
{
Panel1.Visible = false;
lbMessage.Text = "請選擇課程企劃";
return;
}
Panel1.Visible = true;
ddl計畫.DataBind();
}
protected void btn查詢學員_Click(object sender, EventArgs e)
{
gv學員.DataBind();
}
protected void gv學員_RowCommand(object sender, GridViewCommandEventArgs e)
{
switch (e.CommandName)
{
case "上架":
Dao心得報告.(DAC.GetInt32(e.CommandArgument), UserId);
gv學員.DataBind();
break;
case "下架":
Dao心得報告.(DAC.GetInt32(e.CommandArgument), UserId);
gv學員.DataBind();
break;
case "Del滿意度":
//Eval("學員編號", "{0}") + "|" + Eval("心得報告編號", "{0}")
string[] args = e.CommandArgument.ToString().Split('|');
if (args.Length > 1)
{
Dao滿意度調查.Delete(., args[0]);
List d = Dao心得報告.SelectOne(DAC.GetInt32(args[1]));
if (d.Count > 0)
{
Dao心得報告.DeleteOne(d[0]);
}
}
gv學員.DataBind();
break;
}
}
protected int Get討論數(object )
{
return Dao心得報告討論.Select討論數(DAC.GetInt32(), false);
}
protected void btn匯出滿意度調查_Click(object sender, EventArgs e)
{
var Table = Dao課程報名.Select確定報名學員名單(.);
var List = Dao訓練課程內容.SelectBy課程企劃(.);
var 滿List = Dao滿意度調查.Select(.);
var List = Dao心得報告.Select(false, ., null);
var 滿List = 滿List
.FindAll(x => x. != 0)
.OrderBy(x => x.)
.ThenBy(x => x.)
.ToList();
var 滿List = 滿List
.FindAll(x => x. == 0)
.OrderBy(x => x.)
.ToList();
var 滿 = new Education.Report.滿();
滿.Table = Table;
滿.List = List;
滿.滿List = 滿List;
滿.滿List = 滿List;
滿.List = List;
var ms = 滿.DoReport();
ResponseWriteStream(ms, String.Format("滿意度-{0}.xls", .));
}
}
}
@@ -0,0 +1,125 @@
//------------------------------------------------------------------------------
// <自動產生>
// 這段程式碼是由工具產生的。
//
// 變更這個檔案可能會導致不正確的行為,而且如果已重新產生
// 程式碼,則會遺失變更。
// </自動產生>
//------------------------------------------------------------------------------
namespace Education.Forms.
{
public partial class 滿調
{
/// <summary>
/// ds計畫 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds計畫;
/// <summary>
/// ds報名學員 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds報名學員;
/// <summary>
/// 訓練企劃搜尋 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::Education.Forms.Common. ;
/// <summary>
/// lbMessage 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbMessage;
/// <summary>
/// Panel1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Panel Panel1;
/// <summary>
/// Label25 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label25;
/// <summary>
/// ddl計畫 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::WebLib.WDropDownList ddl計畫;
/// <summary>
/// btn查詢學員 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btn查詢學員;
/// <summary>
/// btn匯出滿意度調查 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btn匯出滿意度調查;
/// <summary>
/// lbMessage1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbMessage1;
/// <summary>
/// lbMessage2 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbMessage2;
/// <summary>
/// gv學員 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.GridView gv學員;
}
}
@@ -0,0 +1,199 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site2.Master" AutoEventWireup="true"
CodeBehind="缺席查詢.aspx.cs" Inherits="Education.Forms.辦訓狀況.缺席查詢" %>
<%@ Register Assembly="WebLib" Namespace="WebLib" TagPrefix="weblib" %>
<%@ Register Src="../Common/起訖日顯示.ascx" TagName="起訖日顯示" TagPrefix="uc1" %>
<%@ Register Src="~/Forms/辦訓狀況/UC出席狀況.ascx" TagPrefix="uc1" TagName="UC出席狀況" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<script type="text/javascript">
function DoSelectAll(checkbox, type)
{
var selector = "";
if (type == 1)
selector = "input[id^=ctl00_ContentPlaceHolder1_cbl訓練企劃]";
if (type == 2)
selector = "input[id^=ctl00_ContentPlaceHolder1_cbl計畫別]";
$(selector).each(function ()
{
$(this).attr("checked", checkbox.checked);
});
}
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:ObjectDataSource ID="ds訓練企劃" runat="server"
OldValuesParameterFormatString="original_{0}"
SelectMethod="Select" TypeName="Education.DAC_訓練課程企劃"
OnObjectCreating="dsGrid_ObjectCreating">
<SelectParameters>
<asp:ControlParameter ControlID="txt訓練年度_Search"
Name="訓練年度" PropertyName="Text" Type="Int32" />
<asp:Parameter Name="顯示編號" Type="String" />
<asp:SessionParameter Name="公司別" SessionField="CompanyId" Type="String" />
<asp:ControlParameter ControlID="dd計畫別_Search" Name="計畫別"
PropertyName="SelectedValue" Type="String" />
<asp:ControlParameter ControlID="txt訓練名稱_Search"
Name="訓練名稱" PropertyName="Text" Type="String" />
<asp:Parameter Name="訓練目標" Type="String" />
<asp:Parameter Name="教學方法" Type="String" />
<asp:Parameter Name="承辦" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds計畫別" runat="server"
OldValuesParameterFormatString="original_{0}" SelectMethod="SelectForDropDown"
TypeName="Education.DAC_計畫別"></asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds選課" runat="server" OldValuesParameterFormatString="original_{0}"
OnObjectCreating="ds選課_ObjectCreating" SelectMethod="Select缺席紀錄"
TypeName="Education.DAC_課程報名" OnSelecting="ds選課_Selecting">
<SelectParameters>
<asp:Parameter Name="訓練企劃編號" />
<asp:Parameter Name="計畫年度編號" />
<asp:Parameter Name="公司別" />
<asp:ControlParameter Name="年度" Type="Int32" ControlID="txt訓練年度_Search" PropertyName="Text" />
<asp:ControlParameter Name="計畫別" Type="String" ControlID="dd計畫別_Search" PropertyName="SelectedValue" />
<asp:ControlParameter Name="訓練名稱" Type="String" ControlID="txt訓練名稱_Search" PropertyName="Text" />
</SelectParameters>
</asp:ObjectDataSource>
<table border="0" style="table-layout: fixed;">
<tr>
<td colspan="1" class="widthcontrol"
style="width: 90px;"></td>
<td colspan="1" class="widthcontrol"
style="width: 180px;"></td>
<td class="widthcontrol" style="width: 90px;"></td>
<td class="widthcontrol"
style="width: 180px;">&nbsp;</td>
<td class="widthcontrol" style="width: 90px;"></td>
<td class="widthcontrol"
style="width: 180px;"></td>
<td class="widthcontrol"
style="width: 180px;">&nbsp;</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="Label6" runat="server" Text="訓練年度"></asp:Label>
</td>
<td class="datainput" colspan="1">
<asp:TextBox ID="txt訓練年度_Search" runat="server" Text="" MaxLength="4"
CssClass="inputFull" ValidationGroup="Search"></asp:TextBox>
<asp:RangeValidator runat="server" ID="rgv訓練年度_Search" ControlToValidate="txt訓練年度_Search"
ValidationGroup="Search" Type="Integer" MinimumValue="1000" MaximumValue="2999"
ErrorMessage="請輸入正確西元年度" CssClass="ErrorMessage" Display="Dynamic"></asp:RangeValidator>
</td>
<td class="caption">
<asp:Label ID="lb專案類型Label" runat="server" Text="職能類型"></asp:Label>
</td>
<td class="datainput" colspan="1" rowspan="1" style="vertical-align: top">
<weblib:WDropDownList ID="dd計畫別_Search" runat="server" CssClass="inputFull"
DataSourceID="ds計畫別" DataTextField="Name" DataValueField="Value">
</weblib:WDropDownList>
</td>
<td class="caption">
<asp:Label ID="lb訓練名稱Label" runat="server" Text="訓練名稱"></asp:Label>
</td>
<td class="datainput">
<asp:TextBox ID="txt訓練名稱_Search" runat="server" CssClass="inputFull" MaxLength="50"
Text=""></asp:TextBox>
</td>
<td class="datainput">
<asp:LinkButton ID="LinkButton1" runat="server" CssClass="button blue120" Style="width: 170px"
OnClick="LinkButton1_Click">查詢訓練企劃與計畫別</asp:LinkButton>
</td>
</tr>
<asp:Panel runat="server" ID="pnlStep2" Visible="false">
<tr>
<td class="caption">
<asp:Label ID="lb訓練企劃Label" runat="server" Text="訓練企劃"></asp:Label>
</td>
<td class="datainput" colspan="6">
<input type="checkbox" id="cbSelectAll_1" runat="server" enableviewstate="true" onchange="javascript:DoSelectAll(this, 1);" /><label
for="cbSelectAll_1">全選</label>
<div style="max-height: 150px; overflow-y: auto; border: 1px solid gray; padding: 3px">
<asp:CheckBoxList ID="cbl訓練企劃" runat="server" RepeatColumns="1" RepeatLayout="Flow">
</asp:CheckBoxList>
</div>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb計畫別Label" runat="server" Text="計畫別"></asp:Label>
</td>
<td class="datainput" colspan="6">
<input type="checkbox" id="cbSelectAll_2" runat="server" enableviewstate="true" onchange="javascript:DoSelectAll(this, 2);" /><label
for="cbSelectAll_2">全選</label>
<div style="max-height: 150px; overflow-y: auto; border: 1px solid gray; padding: 3px">
<asp:CheckBoxList ID="cbl計畫別" runat="server" RepeatColumns="1" RepeatLayout="Flow">
</asp:CheckBoxList>
</div>
</td>
</tr>
</asp:Panel>
</table>
<div>
<asp:Label ID="lbMessage" runat="server" Text="" EnableViewState="false" CssClass="ErrorMessage"></asp:Label>
</div>
<asp:Panel runat="server" ID="pnlSearch" Visible="false">
<asp:LinkButton ID="btnSearch" runat="server" CssClass="button blue120"
OnClick="btnSearch_Click">查詢缺席記錄</asp:LinkButton>
</asp:Panel>
<asp:GridView ID="gv上課紀錄" runat="server" AllowPaging="True" EnableViewState="false"
AutoGenerateColumns="False" DataSourceID="ds選課" EnableModelValidation="True"
Width="100%" DataKeyNames="訓練課程編號,學員編號" OnDataBound="gv上課紀錄_DataBound" Visible="false">
<Columns>
<asp:TemplateField HeaderText="訓練日期">
<ItemTemplate>
<uc1:起訖日顯示 runat="server" ID="起訖日顯示" 起日='<%# Eval("訓練日期") %>'
迄日='<%# Eval("訓練日期迄") %>' Format="yyyy-MM-dd" />
</ItemTemplate>
<HeaderStyle Width="110px" />
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="職能類型">
<ItemTemplate>
<asp:Label runat="server" ID="lb專案類型" Text='<%# Education.DAC_計畫別.Get計畫別名稱(Eval("計畫別")) %>'></asp:Label>
</ItemTemplate>
<HeaderStyle Width="80px" />
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="訓練名稱">
<ItemTemplate>
[<asp:Label ID="Label2" runat="server" Text='<%# Bind("顯示編號") %>'></asp:Label>]
<asp:Label ID="Label1" runat="server" Text='<%# Bind("訓練名稱") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="員工編號">
<ItemTemplate>
<asp:Label runat="server" ID="lb員工編號" Text='<%# Eval("學員編號") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle Width="80px" />
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="員工姓名">
<ItemTemplate>
<asp:Label runat="server" ID="lb員工姓名" Text='<%# Eval("學員姓名") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle Width="80px" />
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="計畫別">
<ItemTemplate>
<asp:Label runat="server" ID="lb計畫別" Text='<%# Eval("計畫年度名稱") %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="出席狀況" SortExpression="出席狀況">
<ItemTemplate>
<uc1:UC出席狀況 runat="server" ID="UC出席狀況" 學員編號='<%# Eval("學員編號") %>' 訓練課程編號='<%# Eval("訓練課程編號") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EmptyDataTemplate>
<asp:Label ID="Label9" runat="server" CssClass="ErrorMessage" Text="無此員工,或是此員工沒有缺席紀錄"></asp:Label>
</EmptyDataTemplate>
<PagerTemplate>
<weblib:GridViewPager ID="GridViewPager1" runat="server" />
</PagerTemplate>
</asp:GridView>
</asp:Content>
@@ -0,0 +1,116 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using WebLib;
namespace Education.Forms.
{
public partial class : FormBase
{
protected void Page_Load(object sender, EventArgs e)
{
FunctionName = "學員缺席查詢";
if (IsPostBack)
{
gv上課紀錄.DataBind();
}
else
{
txt訓練年度_Search.Text = DateTime.UtcNow.AddHours(8).Date.ToString("yyyy");
}
}
protected void btnSearch_Click(object sender, EventArgs e)
{
gv上課紀錄.PageIndex = 0;
gv上課紀錄.DataBind();
}
protected void ds選課_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao課程報名;
}
private void BindListBox()
{
gv上課紀錄.Visible = false;
cbSelectAll_1.Checked = true;
cbSelectAll_2.Checked = true;
cbl訓練企劃.Items.Clear();
cbl計畫別.Items.Clear();
foreach (object o in ds訓練企劃.Select())
{
d = o as ;
cbl訓練企劃.Items.Add(new ListItem(String.Format("[{0}] [{1:yyyy-MM-dd}] {2}", d., d., d.), d..ToString()) { Selected = true });
}
DataTable t = new DAC_BPAA().GetBpaaWithTY(DAC.GetInt32(txt訓練年度_Search.Text) - 1911, CompanyId);
foreach (DataRow r in t.Rows)
{
cbl計畫別.Items.Add(new ListItem(DAC.GetString(r["BPPYM"]), DAC.GetString(r["BPPYN"])) { Selected = true });
}
}
protected void dsGrid_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao訓練課程企劃;
}
protected void LinkButton1_Click(object sender, EventArgs e)
{
BindListBox();
if (cbl訓練企劃.Items.Count > 0 || cbl計畫別.Items.Count > 0)
{
pnlStep2.Visible = true;
pnlSearch.Visible = true;
}
else
{
pnlStep2.Visible = false;
pnlSearch.Visible = false;
}
lbMessage.Text = "";
if (cbl訓練企劃.Items.Count == 0)
lbMessage.Text += "沒有合乎條件的訓練課程企劃";
if (cbl計畫別.Items.Count == 0)
lbMessage.Text += lbMessage.Text.Length == 0 ? "" : "" + "沒有合乎條件的計畫別";
}
protected void ds選課_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
{
List<string> List = new List<string>();
List<string> List = new List<string>();
foreach (ListItem item in cbl訓練企劃.Items)
{
if (item.Selected)
List.Add(item.Value);
}
foreach (ListItem item in cbl計畫別.Items)
{
if (item.Selected)
List.Add("'" + item.Value + "'");
}
e.InputParameters["公司別"] = CompanyId;
e.InputParameters["訓練企劃編號"] = List;
e.InputParameters["計畫年度編號"] = List;
}
protected void gv上課紀錄_DataBound(object sender, EventArgs e)
{
gv上課紀錄.Visible = gv上課紀錄.Rows.Count > 0;
}
}
}
@@ -0,0 +1,215 @@
//------------------------------------------------------------------------------
// <自動產生>
// 這段程式碼是由工具產生的。
//
// 變更這個檔案可能會導致不正確的行為,而且如果已重新產生
// 程式碼,則會遺失變更。
// </自動產生>
//------------------------------------------------------------------------------
namespace Education.Forms.
{
public partial class
{
/// <summary>
/// ds訓練企劃 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds訓練企劃;
/// <summary>
/// ds計畫別 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds計畫別;
/// <summary>
/// ds選課 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds選課;
/// <summary>
/// Label6 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label6;
/// <summary>
/// txt訓練年度_Search 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txt訓練年度_Search;
/// <summary>
/// rgv訓練年度_Search 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.RangeValidator rgv訓練年度_Search;
/// <summary>
/// lb專案類型Label 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lb專案類型Label;
/// <summary>
/// dd計畫別_Search 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::WebLib.WDropDownList dd計畫別_Search;
/// <summary>
/// lb訓練名稱Label 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lb訓練名稱Label;
/// <summary>
/// txt訓練名稱_Search 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txt訓練名稱_Search;
/// <summary>
/// LinkButton1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton LinkButton1;
/// <summary>
/// pnlStep2 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Panel pnlStep2;
/// <summary>
/// lb訓練企劃Label 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lb訓練企劃Label;
/// <summary>
/// cbSelectAll_1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlInputCheckBox cbSelectAll_1;
/// <summary>
/// cbl訓練企劃 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBoxList cbl訓練企劃;
/// <summary>
/// lb計畫別Label 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lb計畫別Label;
/// <summary>
/// cbSelectAll_2 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlInputCheckBox cbSelectAll_2;
/// <summary>
/// cbl計畫別 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBoxList cbl計畫別;
/// <summary>
/// lbMessage 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbMessage;
/// <summary>
/// pnlSearch 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Panel pnlSearch;
/// <summary>
/// btnSearch 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btnSearch;
/// <summary>
/// gv上課紀錄 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.GridView gv上課紀錄;
}
}
@@ -0,0 +1,62 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/PopupForm.Master" AutoEventWireup="true"
CodeBehind="訓練效益個人.aspx.cs" Inherits="Education.Forms.辦訓狀況.訓練效益個人" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:ObjectDataSource ID="ds效益追蹤個人" runat="server"
OldValuesParameterFormatString="original_{0}" SelectMethod="Select效益追蹤名單"
TypeName="Education.DAC_課程報名" OnObjectCreating="ds效益追蹤個人_ObjectCreating">
<SelectParameters>
<asp:QueryStringParameter Name="訓練課程編號" QueryStringField="id" Type="Int32" />
<asp:QueryStringParameter Name="站別編號" QueryStringField="place" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
<span class="ErrorMessage">請注意:<br />
1. 有出席課程的人員才會出現在本表的填寫。<br />
2. 必須「是否有成效」以及「有顯見成效或需再加強地方」均選擇與填寫才會儲存。
</span><br />
<asp:DataList ID="DataList1" runat="server" DataSourceID="ds效益追蹤個人"
OnItemDataBound="DataList1_ItemDataBound">
<HeaderTemplate>
<table class="autowidth" style="border-collapse:collapse">
<tr>
<th>職稱</th>
<th>姓名</th>
<th>是否有成效</th>
<th>有顯見成效或需再加強地方</th>
<th>本次儲存</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td class="datainput">
<asp:HiddenField ID="hf學員編號" runat="server" Value='<%# Eval("學員編號") %>' />
<asp:Label ID="lb職稱" runat="server" Text='<%# Eval("職務名稱") %>'></asp:Label>
</td>
<td class="datainput">
<asp:Label ID="lb學員姓名" runat="server" Text='<%# Eval("學員姓名") %>'></asp:Label>
</td>
<td class="datainput">
<asp:RadioButtonList ID="rbl是否有成效" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Text="未填寫" Value="" style="display: none"></asp:ListItem>
<asp:ListItem Text="是&nbsp;&nbsp;" Value="Y"></asp:ListItem>
<asp:ListItem Text="否" Value="N"></asp:ListItem>
</asp:RadioButtonList>
</td>
<td class="datainput">
<asp:TextBox ID="txt成效說明" runat="server" Columns="80" MaxLength="100"></asp:TextBox>
</td>
<td style="text-align:center;">
<asp:Label ID="lbSave" runat="server" EnableViewState="false" CssClass="ErrorMessage"></asp:Label>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:DataList>
<asp:LinkButton ID="btnSave" runat="server" CssClass="button blue100"
OnClick="btnSave_Click">確定儲存</asp:LinkButton>&nbsp;
<asp:Label ID="lbMessage" runat="server" Text="" EnableViewState="false" CssClass="ErrorMessage"></asp:Label>
</asp:Content>
@@ -0,0 +1,89 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using WebLib;
namespace Education.Forms.
{
public partial class : FormBase
{
private DAC_訓練效益個人 Dao訓練效益個人;
private int ID;
private int ;
private string ;
protected void Page_Load(object sender, EventArgs e)
{
FunctionName = "教育訓練效益追蹤調查表 >> 個人效益追蹤";
Dao訓練效益個人 = new DAC_訓練效益個人(conn);
ID = DAC.GetInt32(Request["id"]);
= DAC.GetInt32(Request["serial"]);
= DAC.GetString(Request["place"]);
if (!IsPostBack)
{
//DataList1.ItemDataBound += new DataListItemEventHandler(DataList1_ItemDataBound);
}
{
//DataList1.ItemDataBound -= new DataListItemEventHandler(DataList1_ItemDataBound);
DataList1.DataBind();
}
}
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
RadioButtonList rbl是否有成效 = FindControl<RadioButtonList>(e.Item, "rbl是否有成效");
TextBox txt成效說明 = FindControl<TextBox>(e.Item, "txt成效說明");
if (!(e.Item.DataItem is DataRowView r))
return;
List d = Dao訓練效益個人.SelectOne(ID, DAC.GetString(r["學員編號"]));
if (d.Count > 0)
{
rbl是否有成效.SelectedValue = d[0].;
txt成效說明.Text = d[0].;
}
}
}
protected void ds效益追蹤個人_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao課程報名;
}
protected void btnSave_Click(object sender, EventArgs e)
{
/*
if (!IsValid)
{
lbMessage.Text = "尚有項目未填寫完整!請填寫完整再儲存!";
return;
}
*/
foreach (DataListItem item in DataList1.Items)
{
HiddenField hf學員編號 = FindControl<HiddenField>(item, "hf學員編號");
RadioButtonList rbl是否有成效 = FindControl<RadioButtonList>(item, "rbl是否有成效");
TextBox txt成效說明 = FindControl<TextBox>(item, "txt成效說明");
Label lbSave = FindControl<Label>(item, "lbSave");
if (rbl是否有成效.SelectedValue.Length > 0 && txt成效說明.Text.Trim().Length > 0)
{
Dao訓練效益個人.Update(ID, , hf學員編號.Value,
rbl是否有成效.SelectedValue, txt成效說明.Text);
lbSave.Text = "*";
}
}
lbMessage.Text = "儲存完畢!";
}
}
}
@@ -0,0 +1,53 @@
//------------------------------------------------------------------------------
// <自動產生>
// 這段程式碼是由工具產生的。
//
// 變更這個檔案可能會導致不正確的行為,而且如果已重新產生
// 程式碼,則會遺失變更。
// </自動產生>
//------------------------------------------------------------------------------
namespace Education.Forms.
{
public partial class
{
/// <summary>
/// ds效益追蹤個人 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds效益追蹤個人;
/// <summary>
/// DataList1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.DataList DataList1;
/// <summary>
/// btnSave 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btnSave;
/// <summary>
/// lbMessage 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbMessage;
}
}
@@ -0,0 +1,643 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site2.Master" AutoEventWireup="true"
CodeBehind="訓練效益追蹤紀錄.aspx.cs" Inherits="Education.Forms.辦訓狀況.訓練效益追蹤紀錄" %>
<%@ Register Assembly="WebLib" Namespace="WebLib" TagPrefix="weblib" %>
<%@ Register src="../簽核/送簽.ascx" tagname="送簽" tagprefix="uc1" %>
<%@ Register src="../Common/訓練企劃搜尋.ascx" tagname="訓練企劃搜尋" tagprefix="uc1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:ObjectDataSource ID="ds調查表Form" runat="server"
OnObjectCreating="ds調查表Form_ObjectCreating"
DataObjectTypeName="Education.訓練效益" DeleteMethod="DeleteOne"
InsertMethod="InsertOne" OldValuesParameterFormatString="original_{0}"
SelectMethod="SelectOne" TypeName="Education.DAC_訓練效益" UpdateMethod="UpdateOne">
<SelectParameters>
<asp:ControlParameter ControlID="GridView1" Name="訓練課程企劃編號"
PropertyName="SelectedDataKey[&quot;訓練課程企劃編號&quot;]" Type="Int32" />
<asp:ControlParameter ControlID="GridView1" Name="填表序號"
PropertyName="SelectedDataKey[&quot;填表序號&quot;]" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds調查表Grid" runat="server"
OnObjectCreating="ds調查表Grid_ObjectCreating"
OldValuesParameterFormatString="original_{0}" SelectMethod="Select"
TypeName="Education.DAC_訓練效益">
<SelectParameters>
<asp:ControlParameter ControlID="訓練企劃搜尋" Name="訓練課程企劃編號"
PropertyName="訓練企劃編號" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds調查表個人" runat="server"
OnObjectCreating="ds調查表個人_ObjectCreating"></asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds站別" runat="server"
OldValuesParameterFormatString="original_{0}"
SelectMethod="SelectForDropDown" TypeName="Education.DAC_站別">
</asp:ObjectDataSource>
<uc1:訓練企劃搜尋 ID="訓練企劃搜尋" runat="server" 包含已結案="True" OnClick="btn查詢1_Click"
訓練企劃狀態="已上課未結案" />
<asp:Label ID="lbMessage" runat="server" CssClass="ErrorMessage" EnableViewState="False"></asp:Label>
<asp:Panel ID="Panel1" runat="server" Visible="false">
<asp:FormView ID="FormView1" runat="server" DataKeyNames="訓練課程企劃編號,填表序號,DB_APPNO"
DataSourceID="ds調查表Form" EnableModelValidation="True">
<ItemTemplate>
<div>
<asp:LinkButton ID="btnInsert" runat="server" Text="新增" CommandName="New"
CssClass="button blue80" />
<asp:LinkButton ID="btnUpdate" runat="server" Text="更正" CommandName="Edit"
CssClass="button green80" />
<asp:LinkButton ID="btnDelete" runat="server" Text="刪除" CommandName="Delete" CssClass="button red80"
OnClientClick="return confirm(&quot;是否確定刪除此筆資料?&quot;);" />
<asp:LinkButton ID="btnPersonnal" runat="server" CssClass="button gray120"
OnClientClick='<%# GetOpenWindowJS("~/Forms/辦訓狀況/訓練效益個人.aspx", "_personal",
"id", Eval("訓練課程企劃編號"),
"serial", Eval("填表序號"),
"place", Eval("填表人站別")) %>'>個人效益詳情</asp:LinkButton>
</div>
<table border="0" cellpadding="3" cellspacing="2" style="table-layout: fixed;">
<tr>
<td colspan="1" class="widthcontrol" style="width: 110px;"></td>
<td colspan="1" class="widthcontrol" style="width: 120px;"></td>
<td colspan="1" class="widthcontrol" style="width: 90px;"></td>
<td colspan="1" class="widthcontrol" style="width: 120px;"></td>
<td colspan="1" class="widthcontrol" style="width: 90px;"></td>
<td colspan="1" class="widthcontrol" style="width: 120px;"></td>
<td colspan="1" class="widthcontrol" style="width: 90px;"></td>
<td colspan="1" class="widthcontrol" style="width: 120px;"></td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb填表序號Label" runat="server" Text="填表序號"></asp:Label>
</td>
<td class="datadisplay" colspan="1">
<asp:Label ID="lb填表序號" runat="server" Text='<%# Bind("填表序號") %>'
CssClass="inputFull"></asp:Label>
</td>
<td class="caption">
<asp:Label ID="lb填表人Label" runat="server" Text="填表人"></asp:Label>
</td>
<td class="datadisplay" colspan="1">
<asp:Label ID="lb填表人" runat="server" Text='<%# Bind("填表人") %>'
CssClass="inputFull"></asp:Label>
</td>
<td class="caption">
<asp:Label ID="lb填表日期Label" runat="server" Text="填表日期"></asp:Label>
</td>
<td class="datadisplay" colspan="1">
<asp:Label ID="lb填表日期" runat="server" Text='<%# Eval("填表日期", "{0:yyyy-MM-dd}") %>'
CssClass="inputFull"></asp:Label>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb填表人站別Label" runat="server" Text="計畫人員站別"></asp:Label>
</td>
<td class="datadisplay" colspan="3">
<asp:Label ID="lb填表人站別" runat="server" Text='<%# Get站別(Eval("填表人站別")) %>'
CssClass="inputFull"></asp:Label>
</td>
<td class="caption">
<asp:Label ID="lb填表人職稱Label" runat="server" Text="填表人職稱"></asp:Label>
</td>
<td class="datadisplay" colspan="1">
<asp:Label ID="lb填表人職稱" runat="server" Text='<%# Bind("填表人職稱") %>'
CssClass="inputFull"></asp:Label>
</td>
</tr>
<tr>
<td class="captionLeft" colspan="8">
<asp:Label ID="Label10" runat="server" Text="一、目前於執行工作上,你期待本計畫人員需加強的地方與原因為何?"></asp:Label>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb問題1_1Label" runat="server" Text="加強地方"></asp:Label>
</td>
<td class="datadisplay" colspan="7">
<asp:Label ID="lb問題1_1" runat="server" CssClass="inputFull"
Text='<%# Bind("問題1_1") %>'></asp:Label>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb問題1_2Label" runat="server" Text="原因"></asp:Label>
</td>
<td class="datadisplay" colspan="7">
<asp:Label ID="lb問題1_2" runat="server" Text='<%# Bind("問題1_2") %>'
CssClass="inputFull"></asp:Label>
</td>
</tr>
<tr>
<td class="captionLeft" colspan="8">
<asp:Label ID="Label11" runat="server" Text="二、請問您認為未來開辦哪方面訓練課程較為適合?"></asp:Label>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb問題2_1_1Label" runat="server" Text="1. 課程名稱"></asp:Label>
</td>
<td class="datadisplay" colspan="3">
<asp:Label ID="lb問題2_1_1" runat="server" CssClass="inputFull"
Text='<%# Bind("問題2_1_1") %>'></asp:Label>
</td>
<td class="caption">
<asp:Label ID="lb問題2_1_2Label" runat="server" Text="推薦講師"></asp:Label>
</td>
<td class="datadisplay" colspan="3">
<asp:Label ID="lb問題2_1_2" runat="server" CssClass="inputFull"
Text='<%# Bind("問題2_1_2") %>'></asp:Label>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb問題2_1_3Label" runat="server" Text="原因"></asp:Label>
</td>
<td class="datadisplay" colspan="7">
<asp:Label ID="lb問題2_1_3" runat="server" Text='<%# Bind("問題2_1_3") %>'
CssClass="inputFull"></asp:Label>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb問題2_2_1Label" runat="server" Text="2. 課程名稱"></asp:Label>
</td>
<td class="datadisplay" colspan="3">
<asp:Label ID="lb問題2_2_1" runat="server" Text='<%# Bind("問題2_2_1") %>'
CssClass="inputFull"></asp:Label>
</td>
<td class="caption">
<asp:Label ID="lb問題2_2_2Label" runat="server" Text="推薦講師"></asp:Label>
</td>
<td class="datadisplay" colspan="3">
<asp:Label ID="lb問題2_2_2" runat="server" Text='<%# Bind("問題2_2_2") %>'
CssClass="inputFull"></asp:Label>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb問題2_2_3Label" runat="server" Text="原因"></asp:Label>
</td>
<td class="datadisplay" colspan="7">
<asp:Label ID="lb問題2_2_3" runat="server" Text='<%# Bind("問題2_2_3") %>'
CssClass="inputFull"></asp:Label>
</td>
</tr>
<tr>
<td class="captionLeft" colspan="8">
<asp:Label ID="Label12" runat="server" Text="三、對於課程的規畫或相關事宜,您是否有其他建議?"></asp:Label>
</td>
</tr>
<tr>
<td class="datadisplay" colspan="8">
<asp:Label ID="lb問題3_1" runat="server" Text='<%# Eval("問題3_1", "{0}").Replace("\r", "<br/>") %>'
CssClass="inputFull"></asp:Label>&nbsp;
</td>
</tr>
</table>
</ItemTemplate>
<InsertItemTemplate>
<div>
<asp:LinkButton ID="btnSave" runat="server" Text="存檔" CommandName="Insert"
CssClass="button blue80" />
<asp:LinkButton ID="btnCancel" runat="server" Text="取消" CommandName="Cancel" CausesValidation="false"
CssClass="button red80"
OnClientClick="return confirm(&quot;是否確定取消新增?&quot;);" />
</div>
<table border="0" cellpadding="3" cellspacing="2" style="table-layout: fixed;">
<tr>
<td colspan="1" class="widthcontrol" style="width: 110px;"></td>
<td colspan="1" class="widthcontrol" style="width: 120px;"></td>
<td colspan="1" class="widthcontrol" style="width: 90px;"></td>
<td colspan="1" class="widthcontrol" style="width: 120px;"></td>
<td colspan="1" class="widthcontrol" style="width: 90px;"></td>
<td colspan="1" class="widthcontrol" style="width: 140px;"></td>
<td colspan="1" class="widthcontrol" style="width: 90px;"></td>
<td colspan="1" class="widthcontrol" style="width: 120px;"></td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb填表序號Label" runat="server" Text="填表序號"></asp:Label>
</td>
<td class="datadisplay" colspan="1">
<asp:Label ID="Label14" runat="server" Text="(自動編號)"></asp:Label>
</td>
<td class="caption">
<asp:Label ID="lb填表人Label" runat="server" Text="填表人"></asp:Label>
</td>
<td class="datainput" colspan="1">
<asp:TextBox ID="txt填表人" runat="server" Text='<%# Bind("填表人") %>' MaxLength="52"
CssClass="inputFull"></asp:TextBox>
</td>
<td class="caption">
<asp:Label ID="lb填表日期Label" runat="server" Text="填表日期"></asp:Label>
</td>
<td class="datainput" colspan="1">
<weblib:DateTextBox ID="txt填表日期" runat="server" Value='<%# Bind("填表日期") %>' DateOrder="YMD"
DateSeparator="" CssClass="inputFull"></weblib:DateTextBox>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb填表人站別Label" runat="server" Text="計畫人員站別"></asp:Label>
</td>
<td class="datainput" colspan="3">
<weblib:WDropDownList ID="dd填表人站別" runat="server" SelectedValue='<%# Bind("填表人站別") %>'
CssClass="inputFull" DataSourceID="ds站別" DataTextField="Name"
DataValueField="Value">
</weblib:WDropDownList>
</td>
<td class="caption">
<asp:Label ID="lb填表人職稱Label" runat="server" Text="填表人職稱"></asp:Label>
</td>
<td class="datainput" colspan="1">
<asp:TextBox ID="txt填表人職稱" runat="server" Text='<%# Bind("填表人職稱") %>' MaxLength="52"
CssClass="inputFull"></asp:TextBox>
</td>
</tr>
<tr>
<td class="captionLeft" colspan="8">
<asp:Label ID="Label10" runat="server" Text="一、目前於執行工作上,你期待本計畫人員需加強的地方與原因為何?"></asp:Label>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb問題1_1Label" runat="server" Text="加強地方"></asp:Label>
</td>
<td class="datainput" colspan="7">
<asp:TextBox ID="txt問題1_1" runat="server" CssClass="inputFull" MaxLength="202"
Text='<%# Bind("問題1_1") %>'></asp:TextBox>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb問題1_2Label" runat="server" Text="原因"></asp:Label>
</td>
<td class="datainput" colspan="7">
<asp:TextBox ID="txt問題1_2" runat="server" Text='<%# Bind("問題1_2") %>' MaxLength="202"
CssClass="inputFull"></asp:TextBox>
</td>
</tr>
<tr>
<td class="captionLeft" colspan="8">
<asp:Label ID="Label11" runat="server" Text="二、請問您認為未來開辦哪方面訓練課程較為適合?"></asp:Label>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb問題2_1_1Label" runat="server" Text="1. 課程名稱"></asp:Label>
</td>
<td class="datainput" colspan="3">
<asp:TextBox ID="txt問題2_1_1" runat="server" CssClass="inputFull"
MaxLength="202" Text='<%# Bind("問題2_1_1") %>'></asp:TextBox>
</td>
<td class="caption">
<asp:Label ID="lb問題2_1_2Label" runat="server" Text="推薦講師"></asp:Label>
</td>
<td class="datainput" colspan="3">
<asp:TextBox ID="txt問題2_1_2" runat="server" CssClass="inputFull"
MaxLength="202" Text='<%# Bind("問題2_1_2") %>'></asp:TextBox>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb問題2_1_3Label" runat="server" Text="原因"></asp:Label>
</td>
<td class="datainput" colspan="7">
<asp:TextBox ID="txt問題2_1_3" runat="server" Text='<%# Bind("問題2_1_3") %>' MaxLength="202"
CssClass="inputFull"></asp:TextBox>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb問題2_2_1Label" runat="server" Text="2. 課程名稱"></asp:Label>
</td>
<td class="datainput" colspan="3">
<asp:TextBox ID="txt問題2_2_1" runat="server" Text='<%# Bind("問題2_2_1") %>' MaxLength="202"
CssClass="inputFull"></asp:TextBox>
</td>
<td class="caption">
<asp:Label ID="lb問題2_2_2Label" runat="server" Text="推薦講師"></asp:Label>
</td>
<td class="datainput" colspan="3">
<asp:TextBox ID="txt問題2_2_2" runat="server" Text='<%# Bind("問題2_2_2") %>' MaxLength="202"
CssClass="inputFull"></asp:TextBox>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb問題2_2_3Label" runat="server" Text="原因"></asp:Label>
</td>
<td class="datainput" colspan="7">
<asp:TextBox ID="txt問題2_2_3" runat="server" Text='<%# Bind("問題2_2_3") %>' MaxLength="202"
CssClass="inputFull"></asp:TextBox>
</td>
</tr>
<tr>
<td class="captionLeft" colspan="8">
<asp:Label ID="Label12" runat="server" Text="三、對於課程的規畫或相關事宜,您是否有其他建議?"></asp:Label>
</td>
</tr>
<tr>
<td class="datainput" colspan="8">
<asp:TextBox ID="txt問題3_1" runat="server" Text='<%# Bind("問題3_1") %>' MaxLength="202"
TextMode="MultiLine" Rows="5" CssClass="inputFull"></asp:TextBox>
</td>
</tr>
</table>
</InsertItemTemplate>
<EditItemTemplate>
<div>
<asp:LinkButton ID="btnSave" runat="server" Text="存檔" CommandName="Update"
CssClass="button blue80" />
<asp:LinkButton ID="btnCancel" runat="server" Text="取消" CommandName="Cancel" CausesValidation="false"
CssClass="button red80"
OnClientClick="return confirm(&quot;是否確定取消更正?&quot;);" />
<asp:HiddenField ID="hfDBAPPNO" runat="server"
Value='<%# Bind("DB_APPNO") %>' />
</div>
<table border="0" cellpadding="3" cellspacing="2" style="table-layout: fixed;">
<tr>
<td colspan="1" class="widthcontrol" style="width: 110px;"></td>
<td colspan="1" class="widthcontrol" style="width: 120px;"></td>
<td colspan="1" class="widthcontrol" style="width: 90px;"></td>
<td colspan="1" class="widthcontrol" style="width: 120px;"></td>
<td colspan="1" class="widthcontrol" style="width: 90px;"></td>
<td colspan="1" class="widthcontrol" style="width: 140px;"></td>
<td colspan="1" class="widthcontrol" style="width: 90px;"></td>
<td colspan="1" class="widthcontrol" style="width: 120px;"></td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb填表序號Label" runat="server" Text="填表序號"></asp:Label>
</td>
<td class="datadisplay" colspan="1">
<asp:Label ID="lb填表序號" runat="server" Text='<%# Eval("填表序號") %>'></asp:Label>
</td>
<td class="caption">
<asp:Label ID="lb填表人Label" runat="server" Text="填表人"></asp:Label>
</td>
<td class="datainput" colspan="1">
<asp:TextBox ID="txt填表人" runat="server" Text='<%# Bind("填表人") %>' MaxLength="52"
CssClass="inputFull"></asp:TextBox>
</td>
<td class="caption">
<asp:Label ID="lb填表日期Label" runat="server" Text="填表日期"></asp:Label>
</td>
<td class="datainput" colspan="1">
<weblib:DateTextBox ID="txt填表日期" runat="server" Value='<%# Bind("填表日期") %>' DateOrder="YMD"
DateSeparator="" CssClass="inputFull"></weblib:DateTextBox>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb填表人站別Label" runat="server" Text="計畫人員站別"></asp:Label>
</td>
<td class="datainput" colspan="3">
<weblib:WDropDownList ID="dd填表人站別" runat="server" SelectedValue='<%# Bind("填表人站別") %>'
CssClass="inputFull" DataSourceID="ds站別" DataTextField="Name"
DataValueField="Value">
</weblib:WDropDownList>
</td>
<td class="caption">
<asp:Label ID="lb填表人職稱Label" runat="server" Text="填表人職稱"></asp:Label>
</td>
<td class="datainput" colspan="1">
<asp:TextBox ID="txt填表人職稱" runat="server" Text='<%# Bind("填表人職稱") %>' MaxLength="52"
CssClass="inputFull"></asp:TextBox>
</td>
</tr>
<tr>
<td class="captionLeft" colspan="8">
<asp:Label ID="Label10" runat="server" Text="一、目前於執行工作上,你期待本計畫人員需加強的地方與原因為何?"></asp:Label>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb問題1_1Label" runat="server" Text="加強地方"></asp:Label>
</td>
<td class="datainput" colspan="7">
<asp:TextBox ID="txt問題1_1" runat="server" CssClass="inputFull" MaxLength="202"
Text='<%# Bind("問題1_1") %>'></asp:TextBox>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb問題1_2Label" runat="server" Text="原因"></asp:Label>
</td>
<td class="datainput" colspan="7">
<asp:TextBox ID="txt問題1_2" runat="server" Text='<%# Bind("問題1_2") %>' MaxLength="202"
CssClass="inputFull"></asp:TextBox>
</td>
</tr>
<tr>
<td class="captionLeft" colspan="8">
<asp:Label ID="Label11" runat="server" Text="二、請問您認為未來開辦哪方面訓練課程較為適合?"></asp:Label>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb問題2_1_1Label" runat="server" Text="1. 課程名稱"></asp:Label>
</td>
<td class="datainput" colspan="3">
<asp:TextBox ID="txt問題2_1_1" runat="server" CssClass="inputFull"
MaxLength="202" Text='<%# Bind("問題2_1_1") %>'></asp:TextBox>
</td>
<td class="caption">
<asp:Label ID="lb問題2_1_2Label" runat="server" Text="推薦講師"></asp:Label>
</td>
<td class="datainput" colspan="3">
<asp:TextBox ID="txt問題2_1_2" runat="server" CssClass="inputFull"
MaxLength="202" Text='<%# Bind("問題2_1_2") %>'></asp:TextBox>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb問題2_1_3Label" runat="server" Text="原因"></asp:Label>
</td>
<td class="datainput" colspan="7">
<asp:TextBox ID="txt問題2_1_3" runat="server" Text='<%# Bind("問題2_1_3") %>' MaxLength="202"
CssClass="inputFull"></asp:TextBox>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb問題2_2_1Label" runat="server" Text="2. 課程名稱"></asp:Label>
</td>
<td class="datainput" colspan="3">
<asp:TextBox ID="txt問題2_2_1" runat="server" Text='<%# Bind("問題2_2_1") %>' MaxLength="202"
CssClass="inputFull"></asp:TextBox>
</td>
<td class="caption">
<asp:Label ID="lb問題2_2_2Label" runat="server" Text="推薦講師"></asp:Label>
</td>
<td class="datainput" colspan="3">
<asp:TextBox ID="txt問題2_2_2" runat="server" Text='<%# Bind("問題2_2_2") %>' MaxLength="202"
CssClass="inputFull"></asp:TextBox>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb問題2_2_3Label" runat="server" Text="原因"></asp:Label>
</td>
<td class="datainput" colspan="7">
<asp:TextBox ID="txt問題2_2_3" runat="server" Text='<%# Bind("問題2_2_3") %>' MaxLength="202"
CssClass="inputFull"></asp:TextBox>
</td>
</tr>
<tr>
<td class="captionLeft" colspan="8">
<asp:Label ID="Label12" runat="server" Text="三、對於課程的規畫或相關事宜,您是否有其他建議?"></asp:Label>
</td>
</tr>
<tr>
<td class="datainput" colspan="8">
<asp:TextBox ID="txt問題3_1" runat="server" CssClass="inputFull" MaxLength="202"
Rows="5" Text='<%# Bind("問題3_1") %>' TextMode="MultiLine"></asp:TextBox>
</td>
</tr>
</table>
</EditItemTemplate>
<EmptyDataTemplate>
<div>
<asp:LinkButton ID="btnInsert" runat="server" Text="新增" CommandName="New"
CssClass="button blue80" />
</div>
<table border="0" cellpadding="3" cellspacing="2" style="table-layout: fixed;">
<tr>
<td colspan="1" class="widthcontrol" style="width: 110px;"></td>
<td colspan="1" class="widthcontrol" style="width: 120px;"></td>
<td colspan="1" class="widthcontrol" style="width: 90px;"></td>
<td colspan="1" class="widthcontrol" style="width: 120px;"></td>
<td colspan="1" class="widthcontrol" style="width: 90px;"></td>
<td colspan="1" class="widthcontrol" style="width: 120px;"></td>
<td colspan="1" class="widthcontrol" style="width: 90px;"></td>
<td colspan="1" class="widthcontrol" style="width: 120px;"></td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb填表序號Label" runat="server" Text="填表序號"></asp:Label>
</td>
<td class="datadisplay" colspan="1"></td>
<td class="caption">
<asp:Label ID="lb填表人Label" runat="server" Text="填表人"></asp:Label>
</td>
<td class="datadisplay" colspan="1"></td>
<td class="caption">
<asp:Label ID="lb填表日期Label" runat="server" Text="填表日期"></asp:Label>
</td>
<td class="datadisplay" colspan="1"></td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb填表人站別Label" runat="server" Text="計畫人員站別"></asp:Label>
</td>
<td class="datadisplay" colspan="3"></td>
<td class="caption">
<asp:Label ID="lb填表人職稱Label" runat="server" Text="填表人職稱"></asp:Label>
</td>
<td class="datadisplay" colspan="1"></td>
</tr>
<tr>
<td class="captionLeft" colspan="8">
<asp:Label ID="Label10" runat="server" Text="一、目前於執行工作上,你期待本計畫人員需加強的地方與原因為何?"></asp:Label>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb問題1_1Label" runat="server" Text="加強地方"></asp:Label>
</td>
<td class="datadisplay" colspan="7"></td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb問題1_2Label" runat="server" Text="原因"></asp:Label>
</td>
<td class="datadisplay" colspan="7"></td>
</tr>
<tr>
<td class="captionLeft" colspan="8">
<asp:Label ID="Label11" runat="server" Text="二、請問您認為未來開辦哪方面訓練課程較為適合?"></asp:Label>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb問題2_1_1Label" runat="server" Text="1. 課程名稱"></asp:Label>
</td>
<td class="datadisplay" colspan="3"></td>
<td class="caption">
<asp:Label ID="lb問題2_1_2Label" runat="server" Text="推薦講師"></asp:Label>
</td>
<td class="datadisplay" colspan="3"></td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb問題2_1_3Label" runat="server" Text="原因"></asp:Label>
</td>
<td class="datadisplay" colspan="7"></td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb問題2_2_1Label" runat="server" Text="2. 課程名稱"></asp:Label>
</td>
<td class="datadisplay" colspan="3"></td>
<td class="caption">
<asp:Label ID="lb問題2_2_2Label" runat="server" Text="推薦講師"></asp:Label>
</td>
<td class="datadisplay" colspan="3"></td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb問題2_2_3Label" runat="server" Text="原因"></asp:Label>
</td>
<td class="datadisplay" colspan="7"></td>
</tr>
<tr>
<td class="captionLeft" colspan="8">
<asp:Label ID="Label12" runat="server" Text="三、對於課程的規畫或相關事宜,您是否有其他建議?"></asp:Label>
</td>
</tr>
<tr>
<td class="datadisplay" colspan="8">&nbsp;</td>
</tr>
</table>
</EmptyDataTemplate>
</asp:FormView>
<uc1:送簽 ID="送簽1" runat="server" 表單類別="教育訓練效益追蹤調查表" />
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="訓練課程企劃編號,填表序號,DB_APPNO" DataSourceID="ds調查表Grid"
EnableModelValidation="True">
<Columns>
<asp:TemplateField HeaderText="填表序號" SortExpression="填表序號">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("填表序號") %>'></asp:Label>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False"
CommandName="Select"></asp:LinkButton>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="填表日期" SortExpression="填表日期">
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:BoundField DataField="填表人" HeaderText="填表人" SortExpression="填表人" >
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:TemplateField HeaderText="計畫人員站別" SortExpression="填表人站別">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False"
CommandName="Select"></asp:LinkButton>
<asp:Label ID="Label1" runat="server"
Text='<%# Bind("填表日期", "{0:yyyy-MM-dd}") %>'></asp:Label>
</ItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Get站別(Eval("填表人站別")) %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:BoundField DataField="填表人職稱" HeaderText="填表人職稱" SortExpression="填表人職稱">
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
</Columns>
</asp:GridView>
</asp:Panel>
</asp:Content>
@@ -0,0 +1,116 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using WebLib;
namespace Education.Forms.
{
public partial class : FormBase
{
private DAC_訓練效益 Dao訓練效益;
private DAC_訓練效益個人 Dao訓練效益個人;
protected void Page_Load(object sender, EventArgs e)
{
FunctionName = "教育訓練效益追蹤調查表";
Dao訓練效益 = new DAC_訓練效益(conn);
Dao訓練效益個人 = new DAC_訓練效益個人(conn);
Form_View = FormView1;
Grid_View = GridView1;
FormView_DataSource = ds調查表Form;
GridView_DataSource = ds調查表Grid;
Panel1.Visible = . > 0;
if (IsPostBack)
{
if (Panel1.Visible)
{
Grid_View.DataBind();
Form_View.DataBind();
}
}
}
protected void ds已上課_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao訓練課程企劃;
}
protected void ds調查表Form_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao訓練效益;
}
protected void ds調查表Grid_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao訓練效益;
}
protected void ds調查表個人_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao訓練效益個人;
}
protected void btn查詢1_Click(object sender, EventArgs e)
{
ds調查表Grid.DataBind();
}
protected override void FormView_ItemInserting(object sender, FormViewInsertEventArgs e)
{
base.FormView_ItemInserting(sender, e);
e.Values.Add("訓練課程企劃編號", .);
}
protected override void FormView_ReadOnlyDataBound(object sender, EventArgs e)
{
base.FormView_ReadOnlyDataBound(sender, e);
if (Form_View.SelectedValue != null)
{
List d = Dao訓練課程企劃.SelectOne(.);
1.ID = String.Format("{0}|{1}", Form_View.DataKey[0], Form_View.DataKey[1]);
1. = DAC.GetInt32(Form_View.DataKey[0]);
1.2 = DAC.GetInt32(Form_View.DataKey[1]);
1.ID格式 = String.Format("[{0}] {1}<br>{2} {3} {4}",
d[0].,
d[0].,
Dao站別.GetName((Form_View.DataItem as Education.).),
(Form_View.DataItem as Education.).,
(Form_View.DataItem as Education.).);
// 課程企劃的承辦人可送簽
1. = d[0]..CompareTo(UserId) == 0;
1.Refresh();
}
1.Visible = Form_View.SelectedValue != null;
}
protected override void FormView_InsertDataBound(object sender, EventArgs e)
{
base.FormView_InsertDataBound(sender, e);
(Form_View.FindControl("txt填表日期") as DateTextBox).Value = DateTime.UtcNow.AddHours(8).Date;
Form_View.FindControl("txt填表人").Focus();
1.Visible = false;
}
protected override void FormView_EditDataBound(object sender, EventArgs e)
{
base.FormView_EditDataBound(sender, e);
Form_View.FindControl("txt填表人").Focus();
1.Visible = false;
}
protected string Get站別(object )
{
NameValueList data = ds站別.Select() as NameValueList;
return data.GetName();
}
}
}
@@ -0,0 +1,107 @@
//------------------------------------------------------------------------------
// <自動產生>
// 這段程式碼是由工具產生的。
//
// 變更這個檔案可能會導致不正確的行為,而且如果已重新產生
// 程式碼,則會遺失變更。
// </自動產生>
//------------------------------------------------------------------------------
namespace Education.Forms.
{
public partial class
{
/// <summary>
/// ds調查表Form 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds調查表Form;
/// <summary>
/// ds調查表Grid 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds調查表Grid;
/// <summary>
/// ds調查表個人 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds調查表個人;
/// <summary>
/// ds站別 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds站別;
/// <summary>
/// 訓練企劃搜尋 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::Education.Forms.Common. ;
/// <summary>
/// lbMessage 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbMessage;
/// <summary>
/// Panel1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Panel Panel1;
/// <summary>
/// FormView1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.FormView FormView1;
/// <summary>
/// 送簽1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::Education.Forms.. 1;
/// <summary>
/// GridView1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.GridView GridView1;
}
}
@@ -0,0 +1,971 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site2.Master" AutoEventWireup="true"
CodeBehind="訓練檢討報告處理.aspx.cs" Inherits="Education.Forms.辦訓狀況.訓練檢討報告處理" %>
<%@ Import Namespace="Education" %>
<%@ Register Assembly="WebLib" Namespace="WebLib" TagPrefix="weblib" %>
<%@ Register Src="../簽核/送簽.ascx" TagName="送簽" TagPrefix="uc1" %>
<%@ Register Src="../Common/訓練企劃搜尋.ascx" TagName="訓練企劃搜尋" TagPrefix="uc1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<style>
input[type="radio"][value=""] {
display: none;
}
</style>
<script type="text/javascript">
function updateImprovementOther(list) {
var cell = $(list).closest('td');
var show = $(list).find('input[value="9"]:checked').length > 0;
cell.find('input[type="text"]').toggle(show);
}
$(function () {
$('input[type="checkbox"][value="9"], input[type="radio"][value="9"]').each(function () {
updateImprovementOther($(this).closest('table'));
}).on('click', function () {
var list = $(this).closest('table');
window.setTimeout(function () { updateImprovementOther(list); }, 0);
});
});
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:ObjectDataSource ID="ds訓練檢討報告" runat="server"
DataObjectTypeName="Education.訓練檢討報告" DeleteMethod="DeleteOne"
InsertMethod="InsertOne" OldValuesParameterFormatString="original_{0}"
SelectMethod="SelectOne" TypeName="Education.DAC_訓練檢討報告"
UpdateMethod="UpdateOne">
<SelectParameters>
<asp:ControlParameter ControlID="訓練企劃搜尋" Name="訓練課程企劃編號"
PropertyName="訓練企劃編號" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds心得報告" runat="server"
OldValuesParameterFormatString="original_{0}" SelectMethod="Select建議"
TypeName="Education.DAC_心得報告">
<SelectParameters>
<asp:ControlParameter ControlID="訓練企劃搜尋" Name="訓練課程企劃編號"
PropertyName="訓練企劃編號" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds改善作法" runat="server"
SelectMethod="Select改善作法ForList" TypeName="Education.DAC_檢討報告改善措施選項">
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds改善內容_學員" runat="server"
SelectMethod="Select改善內容_學員ForCheckBox" TypeName="Education.DAC_檢討報告改善措施選項">
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds改善內容_講師" runat="server"
SelectMethod="Select改善內容_講師ForCheckBox" TypeName="Education.DAC_檢討報告改善措施選項">
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds改善內容_教材及教具" runat="server"
SelectMethod="Select改善內容_教材及教具ForCheckBox" TypeName="Education.DAC_檢討報告改善措施選項">
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds改善內容_教學方法" runat="server"
SelectMethod="Select改善內容_教學方法ForCheckBox" TypeName="Education.DAC_檢討報告改善措施選項">
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds改善內容_場地及設備" runat="server"
SelectMethod="Select改善內容_場地及設備ForCheckBox" TypeName="Education.DAC_檢討報告改善措施選項">
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds改善內容_行政流程" runat="server"
SelectMethod="Select改善內容_行政流程ForCheckBox" TypeName="Education.DAC_檢討報告改善措施選項">
</asp:ObjectDataSource>
<uc1:訓練企劃搜尋 ID="訓練企劃搜尋" runat="server" 包含已結案="True" OnClick="btn查詢_Click"
訓練企劃狀態="已上課未結案" />
<asp:Label ID="lbMessage" runat="server" CssClass="ErrorMessage" EnableViewState="False"></asp:Label>
<asp:Panel ID="Panel1" runat="server" Visible="false">
<asp:FormView ID="FormView1" runat="server"
EnableModelValidation="True" EnableViewState="False"
DataKeyNames="訓練課程企劃編號,DB_APPNO" DataSourceID="ds訓練檢討報告">
<ItemTemplate>
<div>
<asp:LinkButton ID="btnUpdate" runat="server"
CommandName="Edit" CssClass="button green80" Text="更正" />
<asp:LinkButton ID="btnDelete" runat="server"
CommandName="Delete" CssClass="button red80"
OnClientClick="return confirm(&quot;是否確定刪除此筆資料?&quot;);" Text="刪除" />
</div>
<table border="0" cellpadding="3" cellspacing="2"
style="table-layout: fixed;">
<tr>
<td class="widthcontrol" colspan="1" style="width: 90px;"></td>
<td class="widthcontrol" colspan="1"
style="width: 120px;"></td>
<td class="widthcontrol" colspan="1" style="width: 90px;"></td>
<td class="widthcontrol" colspan="1"
style="width: 120px;"></td>
<td class="widthcontrol" colspan="1" style="width: 110px;"></td>
<td class="widthcontrol" colspan="1"
style="width: 120px;"></td>
<td class="widthcontrol" colspan="1" style="width: 90px;"></td>
<td class="widthcontrol" colspan="1"
style="width: 120px;"></td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb填表日期Label" runat="server" Text="填表日期"></asp:Label>
</td>
<td class="datadisplay" colspan="1">
<asp:Label ID="lb填表日期" runat="server"
CssClass="inputFull" Text='<%# Eval("填表日期", "{0:yyyy-MM-dd}") %>'></asp:Label>
</td>
<td class="caption">
<asp:Label ID="lb填表人員Label" runat="server" Text="填表人員"></asp:Label>
</td>
<td class="datadisplay" colspan="2">
<asp:Label ID="lb填表人員" runat="server" CssClass="inputFull"
Text='<%# Bind("填表人員") %>'></asp:Label>
<asp:Label ID="lb填表人員X" runat="server" CssClass="inputFull"
Text='<%# Get員工姓名(Eval("填表人員")) %>'></asp:Label>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb填表日期Label0" runat="server" Text="學員出席率"></asp:Label>
</td>
<td class="datadisplay" colspan="1">
<asp:Label ID="lb學員出席率" runat="server"></asp:Label>
</td>
<td class="caption">
<asp:Label ID="lb填表日期Label1" runat="server" Text="訓練經費"></asp:Label>
</td>
<td class="datadisplay" colspan="1">
<asp:Label ID="lb訓練經費" runat="server"></asp:Label>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb參與人數Label" runat="server" Text="參與人數"></asp:Label>
</td>
<td class="datadisplay" colspan="1">
<asp:Label ID="lb參與人數" runat="server"></asp:Label>
</td>
<td class="caption">
<asp:Label ID="lb回收數Label" runat="server" Text="回收數"></asp:Label>
</td>
<td class="datadisplay" colspan="1">
<asp:Label ID="lb回收數" runat="server"></asp:Label>
</td>
<td class="caption">
<asp:Label ID="lb回收率Label" runat="server" Text="回收率"></asp:Label>
</td>
<td class="datadisplay" colspan="1">
<asp:Label ID="lb回收率" runat="server"></asp:Label>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb填表日期Label2" runat="server">行政服務品<br/>質滿意度</asp:Label>
</td>
<td class="datadisplay" colspan="1">
<asp:Label ID="lb行政滿意度" runat="server"></asp:Label>
</td>
<td class="caption">
<asp:Label ID="lb填表日期Label4" runat="server">餐點與茶飲<br>滿意度</asp:Label>
</td>
<td class="datadisplay" colspan="1">
<asp:Label ID="lb餐點滿意度" runat="server"></asp:Label>
</td>
<td class="caption">
<asp:Label ID="lb填表日期Label3" runat="server">場地滿意度</asp:Label>
</td>
<td class="datadisplay" colspan="1">
<asp:Label ID="lb場地滿意度" runat="server"></asp:Label>
</td>
<td class="caption">
<asp:Label ID="lb填表日期Label5" runat="server" Text="整體滿意度"></asp:Label>
</td>
<td class="datadisplay" colspan="1">
<asp:Label ID="lb整體滿意度" runat="server"></asp:Label>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb填表日期Label6" runat="server" Text="講師滿意度"></asp:Label>
</td>
<td class="datadisplay" colspan="7">
<asp:GridView ID="gv講師滿意度" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="節次" HeaderText="節次">
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="講師編號" DataFormatString="{0:0000}" HeaderText="講師編號">
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="講師姓名" HeaderText="講師姓名">
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="滿意度" DataFormatString="{0:##0.00}" HeaderText="滿意度">
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
</Columns>
</asp:GridView>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb學員建議Label" runat="server" Text="學員建議"></asp:Label>
</td>
<td class="datadisplay" colspan="3">
<asp:Label ID="lb學員建議" runat="server" CssClass="inputFull"
Text='<%# Eval("學員建議", "{0}").Replace("\r\n", "<br/>").Replace("\r", "<br/>").Replace("\n", "<br/>") %>'></asp:Label>
</td>
<td class="caption">
<asp:Label ID="lb檢討與改善Label" runat="server" Text="檢討與改善"></asp:Label>
</td>
<td class="datadisplay" colspan="3">
<asp:Label ID="lb檢討與改善" runat="server"
CssClass="inputFull" Text='<%# Eval("檢討與改善", "{0}").Replace("\r\n", "<br/>").Replace("\r", "<br/>").Replace("\n", "<br/>") %>'></asp:Label>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb講師建議Label" runat="server" Text="講師建議"></asp:Label>
</td>
<td class="datadisplay" colspan="3">
<asp:Label ID="lb講師建議" runat="server"
CssClass="inputFull" Text='<%# Eval("講師建議", "{0}").Replace("\r\n", "<br/>").Replace("\r", "<br/>").Replace("\n", "<br/>") %>'></asp:Label>
</td>
<td class="caption">
<asp:Label ID="lb檢討與改善1Label" runat="server" Text="檢討與改善"></asp:Label>
</td>
<td class="datadisplay" colspan="3">
<asp:Label ID="lb檢討與改善1" runat="server"
CssClass="inputFull" Text='<%# Eval("檢討與改善1", "{0}").Replace("\r\n", "<br/>").Replace("\r", "<br/>").Replace("\n", "<br/>") %>'></asp:Label>
</td>
</tr>
</table>
<br />
<table border="0" cellpadding="3" cellspacing="2" style="table-layout:fixed; display:none">
<tr>
<td class="widthcontrol" colspan="1" style="width:90px"></td>
<td class="widthcontrol" colspan="1" style="width:280px"></td>
<td class="widthcontrol" colspan="1" style="width:170px"></td>
<td class="widthcontrol" colspan="1" style="width:180px"></td>
<td class="widthcontrol"></td>
</tr>
<tr>
<th class="caption">改善措施</th>
<th class="caption">改善內容</th>
<th class="caption">改善作法</th>
<th class="caption">補充說明</th>
<td></td>
</tr>
<tr>
<td class="caption">學員</td>
<td class="datadisplay">
<asp:Label ID="lb學員改善內容" runat="server"
Text='<%# DAC_檢討報告改善措施選項.Get改善內容_學員名稱(Eval("改善措施_學員_改善內容")) %>' />
<asp:Label ID="lb學員改善內容其他" runat="server" Text='<%# Eval("改善措施_學員_改善內容_其他") %>' />
</td>
<td class="datadisplay">
<asp:Label ID="lb學員改善作法" runat="server"
Text='<%# DAC_檢討報告改善措施選項.Get改善作法名稱(Eval("改善措施_學員_改善作法")) %>' />
<asp:Label ID="lb學員改善作法其他" runat="server" Text='<%# Eval("改善措施_學員_改善作法_其他") %>' />
</td>
<td class="datadisplay">
<asp:Label ID="lb學員補充說明" runat="server"
Text='<%# Eval("改善措施_學員_補充說明") %>' />
</td>
<td></td>
</tr>
<tr>
<td class="caption">講師</td>
<td class="datadisplay">
<asp:Label ID="lb講師改善內容" runat="server"
Text='<%# DAC_檢討報告改善措施選項.Get改善內容_講師名稱(Eval("改善措施_講師_改善內容")) %>' />
<asp:Label ID="lb講師改善內容其他" runat="server" Text='<%# Eval("改善措施_講師_改善內容_其他") %>' />
</td>
<td class="datadisplay">
<asp:Label ID="lb講師改善作法" runat="server"
Text='<%# DAC_檢討報告改善措施選項.Get改善作法名稱(Eval("改善措施_講師_改善作法")) %>' />
<asp:Label ID="lb講師改善作法其他" runat="server" Text='<%# Eval("改善措施_講師_改善作法_其他") %>' />
</td>
<td class="datadisplay">
<asp:Label ID="lb講師補充說明" runat="server"
Text='<%# Eval("改善措施_講師_補充說明") %>' />
</td>
<td></td>
</tr>
<tr>
<td class="caption">教材及教具</td>
<td class="datadisplay">
<asp:Label ID="lb教材及教具改善內容" runat="server"
Text='<%# DAC_檢討報告改善措施選項.Get改善內容_教材及教具名稱(Eval("改善措施_教材及教具_改善內容")) %>' />
<asp:Label ID="lb教材及教具改善內容其他" runat="server" Text='<%# Eval("改善措施_教材及教具_改善內容_其他") %>' />
</td>
<td class="datadisplay">
<asp:Label ID="lb教材及教具改善作法" runat="server"
Text='<%# DAC_檢討報告改善措施選項.Get改善作法名稱(Eval("改善措施_教材及教具_改善作法")) %>' />
<asp:Label ID="lb教材及教具改善作法其他" runat="server" Text='<%# Eval("改善措施_教材及教具_改善作法_其他") %>' />
</td>
<td class="datadisplay">
<asp:Label ID="lb教材及教具補充說明" runat="server"
Text='<%# Eval("改善措施_教材及教具_補充說明") %>' />
</td>
<td></td>
</tr>
<tr>
<td class="caption">教學方法</td>
<td class="datadisplay">
<asp:Label ID="lb教學方法改善內容" runat="server"
Text='<%# DAC_檢討報告改善措施選項.Get改善內容_教學方法名稱(Eval("改善措施_教學方法_改善內容")) %>' />
<asp:Label ID="lb教學方法改善內容其他" runat="server" Text='<%# Eval("改善措施_教學方法_改善內容_其他") %>' />
</td>
<td class="datadisplay">
<asp:Label ID="lb教學方法改善作法" runat="server"
Text='<%# DAC_檢討報告改善措施選項.Get改善作法名稱(Eval("改善措施_教學方法_改善作法")) %>' />
<asp:Label ID="lb教學方法改善作法其他" runat="server" Text='<%# Eval("改善措施_教學方法_改善作法_其他") %>' />
</td>
<td class="datadisplay">
<asp:Label ID="lb教學方法補充說明" runat="server"
Text='<%# Eval("改善措施_教學方法_補充說明") %>' />
</td>
<td></td>
</tr>
<tr>
<td class="caption">場地及設備</td>
<td class="datadisplay">
<asp:Label ID="lb場地及設備改善內容" runat="server"
Text='<%# DAC_檢討報告改善措施選項.Get改善內容_場地及設備名稱(Eval("改善措施_場地及設備_改善內容")) %>' />
<asp:Label ID="lb場地及設備改善內容其他" runat="server" Text='<%# Eval("改善措施_場地及設備_改善內容_其他") %>' />
</td>
<td class="datadisplay">
<asp:Label ID="lb場地及設備改善作法" runat="server"
Text='<%# DAC_檢討報告改善措施選項.Get改善作法名稱(Eval("改善措施_場地及設備_改善作法")) %>' />
<asp:Label ID="lb場地及設備改善作法其他" runat="server" Text='<%# Eval("改善措施_場地及設備_改善作法_其他") %>' />
</td>
<td class="datadisplay">
<asp:Label ID="lb場地及設備補充說明" runat="server"
Text='<%# Eval("改善措施_場地及設備_補充說明") %>' />
</td>
<td></td>
</tr>
<tr>
<td class="caption">行政流程</td>
<td class="datadisplay">
<asp:Label ID="lb行政流程改善內容" runat="server"
Text='<%# DAC_檢討報告改善措施選項.Get改善內容_行政流程名稱(Eval("改善措施_行政流程_改善內容")) %>' />
<asp:Label ID="lb行政流程改善內容其他" runat="server" Text='<%# Eval("改善措施_行政流程_改善內容_其他") %>' />
</td>
<td class="datadisplay">
<asp:Label ID="lb行政流程改善作法" runat="server"
Text='<%# DAC_檢討報告改善措施選項.Get改善作法名稱(Eval("改善措施_行政流程_改善作法")) %>' />
<asp:Label ID="lb行政流程改善作法其他" runat="server" Text='<%# Eval("改善措施_行政流程_改善作法_其他") %>' />
</td>
<td class="datadisplay">
<asp:Label ID="lb行政流程補充說明" runat="server"
Text='<%# Eval("改善措施_行政流程_補充說明") %>' />
</td>
<td></td>
</tr>
</table>
</ItemTemplate>
<InsertItemTemplate>
<div>
<asp:LinkButton ID="btnSave" runat="server"
CommandName="Insert" CssClass="button blue80" Text="存檔" />
<asp:LinkButton ID="btnCancel" runat="server"
CausesValidation="false" CommandName="Cancel" CssClass="button red80"
OnClientClick="return confirm(&quot;是否確定取消新增?&quot;);" Text="取消" />
<asp:HiddenField ID="hf課程企劃編號" runat="server" Value='<%# Bind("訓練課程企劃編號") %>' />
</div>
<table border="0" cellpadding="3" cellspacing="2"
style="table-layout: fixed;">
<tr>
<td class="widthcontrol" colspan="1" style="width: 90px;"></td>
<td class="widthcontrol" colspan="1"
style="width: 140px;"></td>
<td class="widthcontrol" colspan="1" style="width: 90px;"></td>
<td class="widthcontrol" colspan="1"
style="width: 140px;"></td>
<td class="widthcontrol" colspan="1" style="width: 90px;"></td>
<td class="widthcontrol" colspan="1"
style="width: 120px;"></td>
<td class="widthcontrol" colspan="1" style="width: 90px;"></td>
<td class="widthcontrol" colspan="1"
style="width: 120px;"></td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb填表日期Label7" runat="server" Text="填表日期"></asp:Label>
</td>
<td class="datainput" colspan="1">
<weblib:DateTextBox ID="txt填表日期" runat="server" CssClass="inputFull"
DateOrder="YMD" DateSeparator="" Value='<%# Bind("填表日期") %>' />
</td>
<td class="caption">
<asp:Label ID="lb填表人員Label7" runat="server" Text="填表人員"></asp:Label>
</td>
<td class="datainput" colspan="1">
<weblib:LookupTextBox ID="txt填表人員" runat="server" LookupConfigName="BPSN"
OutputControl="lb填表人員X" Text='<%# Bind("填表人員") %>' />
</td>
<td class="datadisplay" colspan="2">
<asp:Label ID="lb填表人員X" runat="server"></asp:Label>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb學員建議Label7" runat="server" Text="學員建議"></asp:Label>
</td>
<td class="datainput" colspan="3">
<asp:TextBox ID="txt學員建議" runat="server"
CssClass="inputFull" MaxLength="2002" Rows="10" Text='<%# Bind("學員建議") %>'
TextMode="MultiLine"></asp:TextBox>
</td>
<td class="caption">
<asp:Label ID="lb檢討與改善Label7" runat="server"
Text="檢討與改善"></asp:Label>
</td>
<td class="datainput" colspan="3">
<asp:TextBox ID="txt檢討與改善" runat="server"
CssClass="inputFull" MaxLength="2002" Rows="10" Text='<%# Bind("檢討與改善") %>'
TextMode="MultiLine"></asp:TextBox>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb講師建議Label7" runat="server" Text="講師建議"></asp:Label>
</td>
<td class="datainput" colspan="3">
<asp:TextBox ID="txt講師建議" runat="server"
CssClass="inputFull" MaxLength="2002" Rows="10" Text='<%# Bind("講師建議") %>'
TextMode="MultiLine"></asp:TextBox>
</td>
<td class="caption">
<asp:Label ID="lb檢討與改善1Label" runat="server"
Text="檢討與改善"></asp:Label>
</td>
<td class="datainput" colspan="3">
<asp:TextBox ID="txt檢討與改善1" runat="server"
CssClass="inputFull" MaxLength="2002" Rows="10" Text='<%# Bind("檢討與改善1") %>'
TextMode="MultiLine"></asp:TextBox>
</td>
</tr>
</table>
<br />
<table border="0" cellpadding="3" cellspacing="2" style="table-layout:fixed; display:none">
<tr>
<td class="widthcontrol" style="width:90px"></td>
<td class="widthcontrol" style="width:280px"></td>
<td class="widthcontrol" style="width:170px"></td>
<td class="widthcontrol" style="width:180px"></td>
<td class="widthcontrol"></td>
</tr>
<tr>
<th class="caption">改善措施</th>
<th class="caption">改善內容</th>
<th class="caption">改善作法</th>
<th class="caption">補充說明</th>
<td></td>
</tr>
<tr>
<td class="caption">學員</td>
<td class="datainput">
<asp:CheckBoxList ID="cbl學員改善內容" runat="server" DataSourceID="ds改善內容_學員"
DataTextField="Name" DataValueField="Value" RepeatLayout="Table" />
<asp:TextBox ID="txt學員改善內容其他" runat="server" CssClass="inputFull" style="display:none"
MaxLength="200" Text='<%# Bind("改善措施_學員_改善內容_其他") %>' />
<asp:HiddenField ID="hf學員改善內容" runat="server" Value='<%# Bind("改善措施_學員_改善內容") %>' />
</td>
<td class="datainput">
<asp:RadioButtonList ID="ddl學員改善作法" runat="server" DataSourceID="ds改善作法"
DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatLayout="Table" SelectedValue='<%# Bind("改善措施_學員_改善作法") %>' />
<asp:TextBox ID="txt學員改善作法其他" runat="server" CssClass="inputFull" style="display:none"
MaxLength="200" Text='<%# Bind("改善措施_學員_改善作法_其他") %>' />
</td>
<td class="datainput">
<asp:TextBox ID="txt學員補充說明" runat="server" CssClass="inputFull" TextMode="MultiLine"
Rows="3" MaxLength="200" Text='<%# Bind("改善措施_學員_補充說明") %>' />
</td>
<td></td>
</tr>
<tr>
<td class="caption">講師</td>
<td class="datainput">
<asp:CheckBoxList ID="cbl講師改善內容" runat="server" DataSourceID="ds改善內容_講師"
DataTextField="Name" DataValueField="Value" RepeatLayout="Table" />
<asp:TextBox ID="txt講師改善內容其他" runat="server" CssClass="inputFull" style="display:none"
MaxLength="200" Text='<%# Bind("改善措施_講師_改善內容_其他") %>' />
<asp:HiddenField ID="hf講師改善內容" runat="server" Value='<%# Bind("改善措施_講師_改善內容") %>' />
</td>
<td class="datainput">
<asp:RadioButtonList ID="ddl講師改善作法" runat="server" DataSourceID="ds改善作法"
DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatLayout="Table" SelectedValue='<%# Bind("改善措施_講師_改善作法") %>' />
<asp:TextBox ID="txt講師改善作法其他" runat="server" CssClass="inputFull" style="display:none"
MaxLength="200" Text='<%# Bind("改善措施_講師_改善作法_其他") %>' />
</td>
<td class="datainput">
<asp:TextBox ID="txt講師補充說明" runat="server" CssClass="inputFull" TextMode="MultiLine"
Rows="3" MaxLength="200" Text='<%# Bind("改善措施_講師_補充說明") %>' />
</td>
<td></td>
</tr>
<tr>
<td class="caption">教材及教具</td>
<td class="datainput">
<asp:CheckBoxList ID="cbl教材及教具改善內容" runat="server" DataSourceID="ds改善內容_教材及教具"
DataTextField="Name" DataValueField="Value" RepeatLayout="Table" />
<asp:TextBox ID="txt教材及教具改善內容其他" runat="server" CssClass="inputFull" style="display:none"
MaxLength="200" Text='<%# Bind("改善措施_教材及教具_改善內容_其他") %>' />
<asp:HiddenField ID="hf教材及教具改善內容" runat="server" Value='<%# Bind("改善措施_教材及教具_改善內容") %>' />
</td>
<td class="datainput">
<asp:RadioButtonList ID="ddl教材及教具改善作法" runat="server" DataSourceID="ds改善作法"
DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatLayout="Table" SelectedValue='<%# Bind("改善措施_教材及教具_改善作法") %>' />
<asp:TextBox ID="txt教材及教具改善作法其他" runat="server" CssClass="inputFull" style="display:none"
MaxLength="200" Text='<%# Bind("改善措施_教材及教具_改善作法_其他") %>' />
</td>
<td class="datainput">
<asp:TextBox ID="txt教材及教具補充說明" runat="server" CssClass="inputFull" TextMode="MultiLine"
Rows="3" MaxLength="200" Text='<%# Bind("改善措施_教材及教具_補充說明") %>' />
</td>
<td></td>
</tr>
<tr>
<td class="caption">教學方法</td>
<td class="datainput">
<asp:CheckBoxList ID="cbl教學方法改善內容" runat="server" DataSourceID="ds改善內容_教學方法"
DataTextField="Name" DataValueField="Value" RepeatLayout="Table" />
<asp:TextBox ID="txt教學方法改善內容其他" runat="server" CssClass="inputFull" style="display:none"
MaxLength="200" Text='<%# Bind("改善措施_教學方法_改善內容_其他") %>' />
<asp:HiddenField ID="hf教學方法改善內容" runat="server" Value='<%# Bind("改善措施_教學方法_改善內容") %>' />
</td>
<td class="datainput">
<asp:RadioButtonList ID="ddl教學方法改善作法" runat="server" DataSourceID="ds改善作法"
DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatLayout="Table" SelectedValue='<%# Bind("改善措施_教學方法_改善作法") %>' />
<asp:TextBox ID="txt教學方法改善作法其他" runat="server" CssClass="inputFull" style="display:none"
MaxLength="200" Text='<%# Bind("改善措施_教學方法_改善作法_其他") %>' />
</td>
<td class="datainput">
<asp:TextBox ID="txt教學方法補充說明" runat="server" CssClass="inputFull" TextMode="MultiLine"
Rows="3" MaxLength="200" Text='<%# Bind("改善措施_教學方法_補充說明") %>' />
</td>
<td></td>
</tr>
<tr>
<td class="caption">場地及設備</td>
<td class="datainput">
<asp:CheckBoxList ID="cbl場地及設備改善內容" runat="server" DataSourceID="ds改善內容_場地及設備"
DataTextField="Name" DataValueField="Value" RepeatLayout="Table" />
<asp:TextBox ID="txt場地及設備改善內容其他" runat="server" CssClass="inputFull" style="display:none"
MaxLength="200" Text='<%# Bind("改善措施_場地及設備_改善內容_其他") %>' />
<asp:HiddenField ID="hf場地及設備改善內容" runat="server" Value='<%# Bind("改善措施_場地及設備_改善內容") %>' />
</td>
<td class="datainput">
<asp:RadioButtonList ID="ddl場地及設備改善作法" runat="server" DataSourceID="ds改善作法"
DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatLayout="Table" SelectedValue='<%# Bind("改善措施_場地及設備_改善作法") %>' />
<asp:TextBox ID="txt場地及設備改善作法其他" runat="server" CssClass="inputFull" style="display:none"
MaxLength="200" Text='<%# Bind("改善措施_場地及設備_改善作法_其他") %>' />
</td>
<td class="datainput">
<asp:TextBox ID="txt場地及設備補充說明" runat="server" CssClass="inputFull" TextMode="MultiLine"
Rows="3" MaxLength="200" Text='<%# Bind("改善措施_場地及設備_補充說明") %>' />
</td>
<td></td>
</tr>
<tr>
<td class="caption">行政流程</td>
<td class="datainput">
<asp:CheckBoxList ID="cbl行政流程改善內容" runat="server" DataSourceID="ds改善內容_行政流程"
DataTextField="Name" DataValueField="Value" RepeatLayout="Table" />
<asp:TextBox ID="txt行政流程改善內容其他" runat="server" CssClass="inputFull" style="display:none"
MaxLength="200" Text='<%# Bind("改善措施_行政流程_改善內容_其他") %>' />
<asp:HiddenField ID="hf行政流程改善內容" runat="server" Value='<%# Bind("改善措施_行政流程_改善內容") %>' />
</td>
<td class="datainput">
<asp:RadioButtonList ID="ddl行政流程改善作法" runat="server" DataSourceID="ds改善作法"
DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatLayout="Table" SelectedValue='<%# Bind("改善措施_行政流程_改善作法") %>' />
<asp:TextBox ID="txt行政流程改善作法其他" runat="server" CssClass="inputFull" style="display:none"
MaxLength="200" Text='<%# Bind("改善措施_行政流程_改善作法_其他") %>' />
</td>
<td class="datainput">
<asp:TextBox ID="txt行政流程補充說明" runat="server" CssClass="inputFull" TextMode="MultiLine"
Rows="3" MaxLength="200" Text='<%# Bind("改善措施_行政流程_補充說明") %>' />
</td>
<td></td>
</tr>
</table>
<div>
<asp:LinkButton ID="btn帶入建議" runat="server" CommandName="帶入建議" CssClass="button blue80">帶入建議</asp:LinkButton>
</div>
<asp:GridView ID="gv心得報告" runat="server" Width="100%" DataSourceID="ds心得報告"
EnableModelValidation="True" AutoGenerateColumns="false" AllowPaging="true">
<Columns>
<asp:TemplateField HeaderText="選擇">
<ItemTemplate>
<asp:CheckBox ID="cb選擇" runat="server" Checked="true"></asp:CheckBox>
</ItemTemplate>
<ItemStyle Width="40px" HorizontalAlign="Center" />
</asp:TemplateField>
<asp:BoundField DataField="建議" HeaderText="學員建議"></asp:BoundField>
</Columns>
<PagerTemplate>
<weblib:GridViewPager runat="server" ID="GridViewPager1" />
</PagerTemplate>
</asp:GridView>
</InsertItemTemplate>
<EditItemTemplate>
<div>
<asp:LinkButton ID="btnSave3" runat="server"
CommandName="Update" CssClass="button blue80" Text="存檔" />
<asp:LinkButton ID="btnCancel3" runat="server"
CausesValidation="false" CommandName="Cancel" CssClass="button red80"
OnClientClick="return confirm(&quot;是否確定取消更正?&quot;);" Text="取消" />
<asp:HiddenField ID="hfDBAPPNO" runat="server"
Value='<%# Bind("DB_APPNO") %>' />
</div>
<table border="0" cellpadding="3" cellspacing="2"
style="table-layout: fixed;">
<tr>
<td class="widthcontrol" colspan="1" style="width: 90px;"></td>
<td class="widthcontrol" colspan="1"
style="width: 140px;"></td>
<td class="widthcontrol" colspan="1" style="width: 90px;"></td>
<td class="widthcontrol" colspan="1"
style="width: 140px;"></td>
<td class="widthcontrol" colspan="1" style="width: 90px;"></td>
<td class="widthcontrol" colspan="1"
style="width: 120px;"></td>
<td class="widthcontrol" colspan="1" style="width: 90px;"></td>
<td class="widthcontrol" colspan="1"
style="width: 120px;"></td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb填表日期Label" runat="server" Text="填表日期"></asp:Label>
</td>
<td class="datainput" colspan="1">
<weblib:DateTextBox ID="txt填表日期" runat="server" CssClass="inputFull"
DateOrder="YMD" DateSeparator="" Value='<%# Bind("填表日期") %>' />
</td>
<td class="caption">
<asp:Label ID="lb填表人員Label" runat="server" Text="填表人員"></asp:Label>
</td>
<td class="datainput" colspan="1">
<weblib:LookupTextBox ID="txt填表人員" runat="server" LookupConfigName="BPSN"
OutputControl="lb填表人員X" Text='<%# Bind("填表人員") %>' />
</td>
<td class="datadisplay" colspan="2">
<asp:Label ID="lb填表人員X" runat="server" Text='<%# Get員工姓名(Eval("填表人員")) %>'></asp:Label>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb學員建議Label" runat="server" Text="學員建議"></asp:Label>
</td>
<td class="datainput" colspan="3">
<asp:TextBox ID="txt學員建議" runat="server"
CssClass="inputFull" MaxLength="2002" Rows="10" Text='<%# Bind("學員建議") %>'
TextMode="MultiLine"></asp:TextBox>
</td>
<td class="caption">
<asp:Label ID="lb檢討與改善Label" runat="server"
Text="檢討與改善"></asp:Label>
</td>
<td class="datainput" colspan="3">
<asp:TextBox ID="txt檢討與改善" runat="server"
CssClass="inputFull" MaxLength="2002" Rows="10" Text='<%# Bind("檢討與改善") %>'
TextMode="MultiLine"></asp:TextBox>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb講師建議Label" runat="server" Text="講師建議"></asp:Label>
</td>
<td class="datainput" colspan="3">
<asp:TextBox ID="txt講師建議" runat="server"
CssClass="inputFull" MaxLength="2002" Rows="10" Text='<%# Bind("講師建議") %>'
TextMode="MultiLine"></asp:TextBox>
</td>
<td class="caption">
<asp:Label ID="lb檢討與改善1Label" runat="server"
Text="檢討與改善"></asp:Label>
</td>
<td class="datainput" colspan="3">
<asp:TextBox ID="txt檢討與改善1" runat="server"
CssClass="inputFull" MaxLength="2002" Rows="10" Text='<%# Bind("檢討與改善1") %>'
TextMode="MultiLine"></asp:TextBox>
</td>
</tr>
</table>
<br />
<table border="0" cellpadding="3" cellspacing="2" style="table-layout:fixed; display:none">
<tr>
<td class="widthcontrol" style="width:90px"></td>
<td class="widthcontrol" style="width:280px"></td>
<td class="widthcontrol" style="width:170px"></td>
<td class="widthcontrol" style="width:180px"></td>
<td class="widthcontrol"></td>
</tr>
<tr>
<th class="caption">改善措施</th>
<th class="caption">改善內容</th>
<th class="caption">改善作法</th>
<th class="caption">補充說明</th>
<td></td>
</tr>
<tr>
<td class="caption">學員</td>
<td class="datainput">
<asp:CheckBoxList ID="cbl學員改善內容" runat="server" DataSourceID="ds改善內容_學員"
DataTextField="Name" DataValueField="Value" RepeatLayout="Table" />
<asp:TextBox ID="txt學員改善內容其他" runat="server" CssClass="inputFull" style="display:none"
MaxLength="200" Text='<%# Bind("改善措施_學員_改善內容_其他") %>' />
<asp:HiddenField ID="hf學員改善內容" runat="server" Value='<%# Bind("改善措施_學員_改善內容") %>' />
</td>
<td class="datainput">
<asp:RadioButtonList ID="ddl學員改善作法" runat="server" DataSourceID="ds改善作法"
DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatLayout="Table" SelectedValue='<%# Bind("改善措施_學員_改善作法") %>' />
<asp:TextBox ID="txt學員改善作法其他" runat="server" CssClass="inputFull" style="display:none"
MaxLength="200" Text='<%# Bind("改善措施_學員_改善作法_其他") %>' />
</td>
<td class="datainput">
<asp:TextBox ID="txt學員補充說明" runat="server" CssClass="inputFull" TextMode="MultiLine"
Rows="3" MaxLength="200" Text='<%# Bind("改善措施_學員_補充說明") %>' />
</td>
<td></td>
</tr>
<tr>
<td class="caption">講師</td>
<td class="datainput">
<asp:CheckBoxList ID="cbl講師改善內容" runat="server" DataSourceID="ds改善內容_講師"
DataTextField="Name" DataValueField="Value" RepeatLayout="Table" />
<asp:TextBox ID="txt講師改善內容其他" runat="server" CssClass="inputFull" style="display:none"
MaxLength="200" Text='<%# Bind("改善措施_講師_改善內容_其他") %>' />
<asp:HiddenField ID="hf講師改善內容" runat="server" Value='<%# Bind("改善措施_講師_改善內容") %>' />
</td>
<td class="datainput">
<asp:RadioButtonList ID="ddl講師改善作法" runat="server" DataSourceID="ds改善作法"
DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatLayout="Table" SelectedValue='<%# Bind("改善措施_講師_改善作法") %>' />
<asp:TextBox ID="txt講師改善作法其他" runat="server" CssClass="inputFull" style="display:none"
MaxLength="200" Text='<%# Bind("改善措施_講師_改善作法_其他") %>' />
</td>
<td class="datainput">
<asp:TextBox ID="txt講師補充說明" runat="server" CssClass="inputFull" TextMode="MultiLine"
Rows="3" MaxLength="200" Text='<%# Bind("改善措施_講師_補充說明") %>' />
</td>
<td></td>
</tr>
<tr>
<td class="caption">教材及教具</td>
<td class="datainput">
<asp:CheckBoxList ID="cbl教材及教具改善內容" runat="server" DataSourceID="ds改善內容_教材及教具"
DataTextField="Name" DataValueField="Value" RepeatLayout="Table" />
<asp:TextBox ID="txt教材及教具改善內容其他" runat="server" CssClass="inputFull" style="display:none"
MaxLength="200" Text='<%# Bind("改善措施_教材及教具_改善內容_其他") %>' />
<asp:HiddenField ID="hf教材及教具改善內容" runat="server" Value='<%# Bind("改善措施_教材及教具_改善內容") %>' />
</td>
<td class="datainput">
<asp:RadioButtonList ID="ddl教材及教具改善作法" runat="server" DataSourceID="ds改善作法"
DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatLayout="Table" SelectedValue='<%# Bind("改善措施_教材及教具_改善作法") %>' />
<asp:TextBox ID="txt教材及教具改善作法其他" runat="server" CssClass="inputFull" style="display:none"
MaxLength="200" Text='<%# Bind("改善措施_教材及教具_改善作法_其他") %>' />
</td>
<td class="datainput">
<asp:TextBox ID="txt教材及教具補充說明" runat="server" CssClass="inputFull" TextMode="MultiLine"
Rows="3" MaxLength="200" Text='<%# Bind("改善措施_教材及教具_補充說明") %>' />
</td>
<td></td>
</tr>
<tr>
<td class="caption">教學方法</td>
<td class="datainput">
<asp:CheckBoxList ID="cbl教學方法改善內容" runat="server" DataSourceID="ds改善內容_教學方法"
DataTextField="Name" DataValueField="Value" RepeatLayout="Table" />
<asp:TextBox ID="txt教學方法改善內容其他" runat="server" CssClass="inputFull" style="display:none"
MaxLength="200" Text='<%# Bind("改善措施_教學方法_改善內容_其他") %>' />
<asp:HiddenField ID="hf教學方法改善內容" runat="server" Value='<%# Bind("改善措施_教學方法_改善內容") %>' />
</td>
<td class="datainput">
<asp:RadioButtonList ID="ddl教學方法改善作法" runat="server" DataSourceID="ds改善作法"
DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatLayout="Table" SelectedValue='<%# Bind("改善措施_教學方法_改善作法") %>' />
<asp:TextBox ID="txt教學方法改善作法其他" runat="server" CssClass="inputFull" style="display:none"
MaxLength="200" Text='<%# Bind("改善措施_教學方法_改善作法_其他") %>' />
</td>
<td class="datainput">
<asp:TextBox ID="txt教學方法補充說明" runat="server" CssClass="inputFull" TextMode="MultiLine"
Rows="3" MaxLength="200" Text='<%# Bind("改善措施_教學方法_補充說明") %>' />
</td>
<td></td>
</tr>
<tr>
<td class="caption">場地及設備</td>
<td class="datainput">
<asp:CheckBoxList ID="cbl場地及設備改善內容" runat="server" DataSourceID="ds改善內容_場地及設備"
DataTextField="Name" DataValueField="Value" RepeatLayout="Table" />
<asp:TextBox ID="txt場地及設備改善內容其他" runat="server" CssClass="inputFull" style="display:none"
MaxLength="200" Text='<%# Bind("改善措施_場地及設備_改善內容_其他") %>' />
<asp:HiddenField ID="hf場地及設備改善內容" runat="server" Value='<%# Bind("改善措施_場地及設備_改善內容") %>' />
</td>
<td class="datainput">
<asp:RadioButtonList ID="ddl場地及設備改善作法" runat="server" DataSourceID="ds改善作法"
DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatLayout="Table" SelectedValue='<%# Bind("改善措施_場地及設備_改善作法") %>' />
<asp:TextBox ID="txt場地及設備改善作法其他" runat="server" CssClass="inputFull" style="display:none"
MaxLength="200" Text='<%# Bind("改善措施_場地及設備_改善作法_其他") %>' />
</td>
<td class="datainput">
<asp:TextBox ID="txt場地及設備補充說明" runat="server" CssClass="inputFull" TextMode="MultiLine"
Rows="3" MaxLength="200" Text='<%# Bind("改善措施_場地及設備_補充說明") %>' />
</td>
<td></td>
</tr>
<tr>
<td class="caption">行政流程</td>
<td class="datainput">
<asp:CheckBoxList ID="cbl行政流程改善內容" runat="server" DataSourceID="ds改善內容_行政流程"
DataTextField="Name" DataValueField="Value" RepeatLayout="Table" />
<asp:TextBox ID="txt行政流程改善內容其他" runat="server" CssClass="inputFull" style="display:none"
MaxLength="200" Text='<%# Bind("改善措施_行政流程_改善內容_其他") %>' />
<asp:HiddenField ID="hf行政流程改善內容" runat="server" Value='<%# Bind("改善措施_行政流程_改善內容") %>' />
</td>
<td class="datainput">
<asp:RadioButtonList ID="ddl行政流程改善作法" runat="server" DataSourceID="ds改善作法"
DataTextField="Name" DataValueField="Value" RepeatDirection="Horizontal" RepeatLayout="Table" SelectedValue='<%# Bind("改善措施_行政流程_改善作法") %>' />
<asp:TextBox ID="txt行政流程改善作法其他" runat="server" CssClass="inputFull" style="display:none"
MaxLength="200" Text='<%# Bind("改善措施_行政流程_改善作法_其他") %>' />
</td>
<td class="datainput">
<asp:TextBox ID="txt行政流程補充說明" runat="server" CssClass="inputFull" TextMode="MultiLine"
Rows="3" MaxLength="200" Text='<%# Bind("改善措施_行政流程_補充說明") %>' />
</td>
<td></td>
</tr>
</table>
<div>
<asp:LinkButton ID="btn帶入建議" runat="server" CommandName="帶入建議" CssClass="button blue80">帶入建議</asp:LinkButton>
</div>
<asp:GridView ID="gv心得報告" runat="server" Width="100%" DataSourceID="ds心得報告"
EnableModelValidation="True" AutoGenerateColumns="false" AllowPaging="true">
<Columns>
<asp:TemplateField HeaderText="選擇">
<ItemTemplate>
<asp:CheckBox ID="cb選擇" runat="server" Checked="true"></asp:CheckBox>
</ItemTemplate>
<ItemStyle Width="40px" HorizontalAlign="Center" />
</asp:TemplateField>
<asp:BoundField DataField="建議" HeaderText="學員建議"></asp:BoundField>
</Columns>
<PagerTemplate>
<weblib:GridViewPager runat="server" ID="GridViewPager1" />
</PagerTemplate>
</asp:GridView>
</EditItemTemplate>
<EmptyDataTemplate>
<div>
<asp:LinkButton ID="btnInsert3" runat="server"
CommandName="New" CssClass="button blue80" Text="新增" />
</div>
<table border="0" cellpadding="3" cellspacing="2"
style="table-layout: fixed;">
<tr>
<td class="widthcontrol" colspan="1" style="width: 90px;"></td>
<td class="widthcontrol" colspan="1"
style="width: 120px;"></td>
<td class="widthcontrol" colspan="1" style="width: 90px;"></td>
<td class="widthcontrol" colspan="1"
style="width: 120px;"></td>
<td class="widthcontrol" colspan="1" style="width: 90px;"></td>
<td class="widthcontrol" colspan="1"
style="width: 120px;"></td>
<td class="widthcontrol" colspan="1" style="width: 90px;"></td>
<td class="widthcontrol" colspan="1"
style="width: 120px;"></td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb填表日期Label9" runat="server"
Text="填表日期"></asp:Label>
</td>
<td class="datadisplay" colspan="1"></td>
<td class="caption">
<asp:Label ID="lb填表人員Label9" runat="server" Text="填表人員"></asp:Label>
</td>
<td class="datadisplay" colspan="1"></td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb學員建議Label9" runat="server" Text="學員建議"></asp:Label>
</td>
<td class="datadisplay" colspan="3"></td>
<td class="caption">
<asp:Label ID="lb檢討與改善Label9" runat="server"
Text="檢討與改善"></asp:Label>
</td>
<td class="datadisplay" colspan="3"></td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb講師建議Label9" runat="server" Text="講師建議"></asp:Label>
</td>
<td class="datadisplay" colspan="3"></td>
<td class="caption">
<asp:Label ID="Label1" runat="server"
Text="檢討與改善"></asp:Label>
</td>
<td class="datadisplay" colspan="3"></td>
</tr>
</table>
<br />
<table border="0" cellpadding="3" cellspacing="2" style="table-layout:fixed; display:none">
<tr>
<td class="widthcontrol" colspan="1" style="width:90px"></td>
<td class="widthcontrol" colspan="1" style="width:280px"></td>
<td class="widthcontrol" colspan="1" style="width:170px"></td>
<td class="widthcontrol" colspan="1" style="width:180px"></td>
<td class="widthcontrol"></td>
</tr>
<tr>
<th class="caption">改善措施</th>
<th class="caption">改善內容</th>
<th class="caption">改善作法</th>
<th class="caption">補充說明</th>
<td></td>
</tr>
<tr>
<td class="caption">學員</td>
<td class="datadisplay">&nbsp;</td>
<td class="datadisplay">&nbsp;</td>
<td class="datadisplay">&nbsp;</td>
<td></td>
</tr>
<tr>
<td class="caption">講師</td>
<td class="datadisplay">&nbsp;</td>
<td class="datadisplay">&nbsp;</td>
<td class="datadisplay">&nbsp;</td>
<td></td>
</tr>
<tr>
<td class="caption">教材及教具</td>
<td class="datadisplay">&nbsp;</td>
<td class="datadisplay">&nbsp;</td>
<td class="datadisplay">&nbsp;</td>
<td></td>
</tr>
<tr>
<td class="caption">教學方法</td>
<td class="datadisplay">&nbsp;</td>
<td class="datadisplay">&nbsp;</td>
<td class="datadisplay">&nbsp;</td>
<td></td>
</tr>
<tr>
<td class="caption">場地及設備</td>
<td class="datadisplay">&nbsp;</td>
<td class="datadisplay">&nbsp;</td>
<td class="datadisplay">&nbsp;</td>
<td></td>
</tr>
<tr>
<td class="caption">行政流程</td>
<td class="datadisplay">&nbsp;</td>
<td class="datadisplay">&nbsp;</td>
<td class="datadisplay">&nbsp;</td>
<td></td>
</tr>
</table>
</EmptyDataTemplate>
</asp:FormView>
<uc1:送簽 ID="送簽1" runat="server" 表單類別="訓練檢討報告" />
</asp:Panel>
</asp:Content>
@@ -0,0 +1,263 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using WebLib;
namespace Education.Forms.
{
public partial class : FormBase
{
protected void Page_Load(object sender, EventArgs e)
{
FunctionName = "訓練檢討報告處理";
Form_View = FormView1;
FormView_DataSource = ds訓練檢討報告;
if (IsPostBack)
{
Panel1.Visible = . > 0;
if (Panel1.Visible)
Form_View.DataBind();
}
}
protected void ds已上課_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao訓練課程企劃;
}
protected void btn查詢_Click(object sender, EventArgs e)
{
Form_View.DataBind();
}
protected override void FormView_ReadOnlyDataBound(object sender, EventArgs e)
{
base.FormView_ReadOnlyDataBound(sender, e);
if (. > 0 && FindControl<Label>(Form_View, "lb學員出席率") != null)
{
int ID = .;
FindControl<Label>(Form_View, "lb學員出席率").Text = String.Format("{0:##0.00}%", Dao課程報名.Get出席率(ID));
DAC_課程經費 Dao課程經費 = new DAC_課程經費(conn);
FindControl<Label>(Form_View, "lb訓練經費").Text = String.Format("{0:###,###,##0}", Dao課程經費.Get經費合計(ID));
DAC_滿意度調查課程企劃 Dao滿意度調查課程企劃 = new DAC_滿意度調查課程企劃(conn);
DataTable d1 = Dao滿意度調查課程企劃.Select滿意度統計(ID);
if (d1.Rows.Count > 0)
{
int = DAC.GetInt32(d1.Rows[0]["回收數"]);
DAC_學員出席 Dao學員出席 = new DAC_學員出席(conn);
// int 參與人數 = Dao學員出席.Get參與人數(課程企劃ID);
int = Dao課程報名.Get報名人數(ID);
FindControl<Label>(Form_View, "lb行政滿意度").Text = String.Format("{0:##0.00}", d1.Rows[0]["行政滿意度"]);
FindControl<Label>(Form_View, "lb餐點滿意度").Text = String.Format("{0:##0.00}", d1.Rows[0]["餐點滿意度"]);
FindControl<Label>(Form_View, "lb場地滿意度").Text = String.Format("{0:##0.00}", d1.Rows[0]["場地滿意度"]);
FindControl<Label>(Form_View, "lb整體滿意度").Text = String.Format("{0:##0.00}", d1.Rows[0]["整體滿意度"]);
FindControl<Label>(Form_View, "lb參與人數").Text = String.Format("{0}", );
FindControl<Label>(Form_View, "lb回收數").Text = String.Format("{0}", );
FindControl<Label>(Form_View, "lb回收率").Text = > 0 ? String.Format("{0:##0.00}", DAC.GetDecimal() / DAC.GetDecimal() * 100) : "--";
}
else
{
FindControl<Label>(Form_View, "lb行政滿意度").Text = "";
FindControl<Label>(Form_View, "lb餐點滿意度").Text = "";
FindControl<Label>(Form_View, "lb場地滿意度").Text = "";
FindControl<Label>(Form_View, "lb整體滿意度").Text = "";
FindControl<Label>(Form_View, "lb參與人數").Text = "";
FindControl<Label>(Form_View, "lb回收數").Text = "";
FindControl<Label>(Form_View, "lb回收率").Text = "";
}
DAC_滿意度調查講師 Dao滿意度調查講師 = new DAC_滿意度調查講師(conn);
FindControl<GridView>(Form_View, "gv講師滿意度").DataSource = Dao滿意度調查講師.Select滿意度統計(ID);
FindControl<GridView>(Form_View, "gv講師滿意度").DataBind();
}
if (Form_View.SelectedValue != null)
{
List d = Dao訓練課程企劃.SelectOne(.);
1.ID = Form_View.SelectedValue.ToString();
1. = DAC.GetInt32(Form_View.SelectedValue);
1.2 = 0;
1.ID格式 = String.Format("[{0}] {1}", d[0]., d[0].);
// 課程企劃的承辦人可送簽
1. = d[0]..CompareTo(UserId) == 0;
1.Refresh();
}
1.Visible = Form_View.SelectedValue != null;
}
protected override void FormView_InsertDataBound(object sender, EventArgs e)
{
base.FormView_InsertDataBound(sender, e);
FindControl<HiddenField>(Form_View, "hf課程企劃編號").Value = ..ToString();
FindControl<DateTextBox>(Form_View, "txt填表日期").Value = DateTime.UtcNow.AddHours(8).Date;
FindControl<LookupTextBox>(Form_View, "txt填表人員").Text = UserId;
FindControl<Label>(Form_View, "lb填表人員X").Text = Get員工姓名(UserId);
Bind改善措施CheckBoxLists();
1.Visible = false;
}
protected override void FormView_EditDataBound(object sender, EventArgs e)
{
base.FormView_EditDataBound(sender, e);
Bind改善措施CheckBoxLists();
1.Visible = false;
}
protected override void FormView_ItemCommand(object sender, FormViewCommandEventArgs e)
{
base.FormView_ItemCommand(sender, e);
if (e.CommandName == "帶入建議")
{
TextBox txt學員建議 = FindControl<TextBox>(Form_View, "txt學員建議");
GridView gv心得報告 = FindControl<GridView>(Form_View, "gv心得報告");
if (txt學員建議 != null && gv心得報告 != null)
{
string s = "";
foreach (GridViewRow row in gv心得報告.Rows)
{
if (row.RowType == DataControlRowType.DataRow)
{
if (FindControl<CheckBox>(row.Cells[0], "cb選擇").Checked)
s += row.Cells[1].Text + "\r\n";
}
}
if (s.Length > 0)
{
s = s.Remove(s.Length - 2, 2);
txt學員建議.Text += s;
}
}
}
}
#region CheckBoxList
private string GetCheckBoxListValue(CheckBoxList cbl)
{
if (cbl == null) return "";
List<string> values = new List<string>();
foreach (ListItem item in cbl.Items)
{
if (item.Selected)
values.Add(item.Value);
}
return string.Join(",", values.ToArray());
}
private void Bind改善措施CheckBoxLists()
{
string[] categories = { "學員", "講師", "教材及教具", "教學方法", "場地及設備", "行政流程" };
foreach (string cat in categories)
{
CheckBoxList cbl = FindControl<CheckBoxList>(Form_View, "cbl" + cat + "改善內容");
HiddenField hf = FindControl<HiddenField>(Form_View, "hf" + cat + "改善內容");
if (cbl != null)
{
cbl.DataBind();
if (hf != null && !string.IsNullOrEmpty(hf.Value))
{
string[] values = hf.Value.Split(',');
foreach (string v in values)
{
foreach (ListItem item in cbl.Items)
{
if (item.Value == v.Trim())
{
item.Selected = true;
break;
}
}
}
}
}
}
}
protected override void FormView_ItemInserting(object sender, FormViewInsertEventArgs e)
{
base.FormView_ItemInserting(sender, e);
if (!Validate改善措施())
{
e.Cancel = true;
return;
}
string[] categories = { "學員", "講師", "教材及教具", "教學方法", "場地及設備", "行政流程" };
foreach (string cat in categories)
{
CheckBoxList cbl = FindControl<CheckBoxList>(Form_View, "cbl" + cat + "改善內容");
if (cbl != null)
e.Values["改善措施_" + cat + "_改善內容"] = GetCheckBoxListValue(cbl);
}
}
protected override void FormView_ItemUpdating(object sender, FormViewUpdateEventArgs e)
{
base.FormView_ItemUpdating(sender, e);
if (!Validate改善措施())
{
e.Cancel = true;
return;
}
string[] categories = { "學員", "講師", "教材及教具", "教學方法", "場地及設備", "行政流程" };
foreach (string cat in categories)
{
CheckBoxList cbl = FindControl<CheckBoxList>(Form_View, "cbl" + cat + "改善內容");
if (cbl != null)
e.NewValues["改善措施_" + cat + "_改善內容"] = GetCheckBoxListValue(cbl);
}
}
private bool Validate改善措施()
{
string[] categories = { "學員", "講師", "教材及教具", "教學方法", "場地及設備", "行政流程" };
foreach (string category in categories)
{
CheckBoxList contentList = FindControl<CheckBoxList>(Form_View, "cbl" + category + "改善內容");
RadioButtonList methodList = FindControl<RadioButtonList>(Form_View, "ddl" + category + "改善作法");
TextBox contentOther = FindControl<TextBox>(Form_View, "txt" + category + "改善內容其他");
TextBox methodOther = FindControl<TextBox>(Form_View, "txt" + category + "改善作法其他");
bool contentHasOther = contentList != null && contentList.Items.FindByValue("9") != null
&& contentList.Items.FindByValue("9").Selected;
bool methodHasOther = methodList != null && methodList.Items.FindByValue("9") != null
&& methodList.Items.FindByValue("9").Selected;
if (contentHasOther && (contentOther == null || String.IsNullOrEmpty(contentOther.Text.Trim())))
{
lbMessage.Text = String.Format("請填寫{0}的改善內容其他說明。", category);
return false;
}
if (methodHasOther && (methodOther == null || String.IsNullOrEmpty(methodOther.Text.Trim())))
{
lbMessage.Text = String.Format("請填寫{0}的改善作法其他說明。", category);
return false;
}
}
return true;
}
#endregion
}
}
@@ -0,0 +1,143 @@
//------------------------------------------------------------------------------
// <自動產生>
// 這段程式碼是由工具產生的。
//
// 變更這個檔案可能會導致不正確的行為,而且如果已重新產生
// 程式碼,則會遺失變更。
// </自動產生>
//------------------------------------------------------------------------------
namespace Education.Forms.
{
public partial class
{
/// <summary>
/// ds訓練檢討報告 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds訓練檢討報告;
/// <summary>
/// ds心得報告 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds心得報告;
/// <summary>
/// ds改善作法 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds改善作法;
/// <summary>
/// ds改善內容_學員 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds改善內容_學員;
/// <summary>
/// ds改善內容_講師 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds改善內容_講師;
/// <summary>
/// ds改善內容_教材及教具 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds改善內容_教材及教具;
/// <summary>
/// ds改善內容_教學方法 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds改善內容_教學方法;
/// <summary>
/// ds改善內容_場地及設備 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds改善內容_場地及設備;
/// <summary>
/// ds改善內容_行政流程 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds改善內容_行政流程;
/// <summary>
/// 訓練企劃搜尋 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::Education.Forms.Common. ;
/// <summary>
/// lbMessage 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbMessage;
/// <summary>
/// Panel1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Panel Panel1;
/// <summary>
/// FormView1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.FormView FormView1;
/// <summary>
/// 送簽1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::Education.Forms.. 1;
}
}
@@ -0,0 +1,141 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site2.Master" AutoEventWireup="true"
CodeBehind="課程使用經費登錄.aspx.cs" Inherits="Education.Forms.辦訓狀況.課程使用經費登錄" %>
<%@ Register Assembly="WebLib" Namespace="WebLib" TagPrefix="WebLib" %>
<%@ Register Src="../Common/訓練企劃搜尋.ascx" TagName="訓練企劃搜尋" TagPrefix="uc1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:ObjectDataSource ID="ds課程經費" runat="server"
OldValuesParameterFormatString="original_{0}" SelectMethod="Select"
TypeName="Education.DAC_課程經費" DataObjectTypeName="Education.課程經費"
DeleteMethod="DeleteOne" UpdateMethod="UpdateOne">
<SelectParameters>
<asp:ControlParameter ControlID="訓練企劃搜尋" Name="訓練課程企劃編號"
PropertyName="訓練企劃編號" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<uc1:訓練企劃搜尋 ID="訓練企劃搜尋" runat="server" 包含已結案="True" OnClick="btn查詢1_Click"
訓練企劃狀態="已上課未結案" />
<asp:Label ID="lbMessage" runat="server" CssClass="ErrorMessage" EnableViewState="False"></asp:Label>
<asp:Panel ID="Panel1" runat="server" Visible="false">
<table border="1" class="fixedwithborder" style="border-bottom: none;">
<tr>
<th style="width: 140px">&nbsp;</th>
<th style="width: 80px">單據序號</th>
<th style="width: 120px">收支</th>
<th style="width: 80px">金額</th>
<th style="width: 300px">摘要</th>
</tr>
<tr>
<td class="datainput" style="border-bottom: none">
<asp:LinkButton ID="btnInsert" runat="server" CssClass="button blue60"
OnClick="btnInsert_Click" ValidationGroup="insert">新增</asp:LinkButton>
</td>
<td class="datainput" style="text-align: center; border-bottom: none">
<asp:Label ID="Label10" runat="server" Text="自動編號"></asp:Label>
</td>
<td class="datainput" style="text-align: center; border-bottom: none">
<asp:RadioButtonList ID="rbl收支" runat="server"
RepeatDirection="Horizontal" RepeatLayout="Flow" Font-Bold="true"
ValidationGroup="insert">
<asp:ListItem Selected="True" style="color: red" Value="支">支出&nbsp</asp:ListItem>
<asp:ListItem style="color: green" Value="收">收入</asp:ListItem>
</asp:RadioButtonList>
</td>
<td class="datainput" style="border-bottom: none">
<asp:TextBox ID="txt金額" runat="server" Width="76px"
ValidationGroup="insert"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" Display="Dynamic"
ErrorMessage="請輸入" ControlToValidate="txt金額" ValidationGroup="insert">
</asp:RequiredFieldValidator>
<asp:RangeValidator ID="RangeValidator1" runat="server"
ErrorMessage="請輸入 1-999999 的數字" ControlToValidate="txt金額" Display="Dynamic"
MaximumValue="999999" MinimumValue="1" Type="Integer" ValidationGroup="insert">
</asp:RangeValidator>
</td>
<td class="datainput" style="border-bottom: none">
<asp:TextBox ID="txt摘要" runat="server" Width="296px"
ValidationGroup="insert"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" Display="Dynamic"
ErrorMessage="請輸入" ControlToValidate="txt摘要" ValidationGroup="insert">
</asp:RequiredFieldValidator>
</td>
</tr>
</table>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="訓練課程企劃編號,單據序號,DB_APPNO" DataSourceID="ds課程經費"
EnableModelValidation="True" ShowHeader="False" AllowPaging="True">
<Columns>
<asp:TemplateField ShowHeader="False">
<EditItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True"
CommandName="Update" Text="儲存" CssClass="button blue60"></asp:LinkButton>
<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False"
CommandName="Cancel" Text="取消" CssClass="button green60"
OnClientClick='return confirm("是否確定取消更正?");'></asp:LinkButton>
</EditItemTemplate>
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False"
CommandName="Edit" Text="更正" CssClass="button green60"></asp:LinkButton>
<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False"
CommandName="Delete" Text="刪除" CssClass="button red60"
OnClientClick='return confirm("是否確定刪除此筆資料?");'></asp:LinkButton>
</ItemTemplate>
<HeaderStyle Width="140px" />
<ItemStyle Width="140px" />
</asp:TemplateField>
<asp:BoundField DataField="單據序號" HeaderText="單據序號" ReadOnly="True"
SortExpression="單據序號">
<ItemStyle Width="80px" HorizontalAlign="Center" />
</asp:BoundField>
<asp:TemplateField HeaderText="收支" SortExpression="收支">
<EditItemTemplate>
<asp:RadioButtonList ID="RadioButtonList1" runat="server"
RepeatDirection="Horizontal" RepeatLayout="Flow" Font-Bold="True"
SelectedValue='<%# Bind("收支") %>'>
<asp:ListItem style="color: red" Value="支">支出&nbsp;</asp:ListItem>
<asp:ListItem style="color: green" Value="收">收入</asp:ListItem>
</asp:RadioButtonList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Font-Bold="true"
Text='<%# Eval("收支", "{0}") == "收" ? "收入" : "支出" %>'
ForeColor='<%# Eval("收支", "{0}") == "收" ? System.Drawing.Color.Green : System.Drawing.Color.Red %>'>
</asp:Label>
</ItemTemplate>
<ItemStyle Width="120px" HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="金額" SortExpression="金額">
<EditItemTemplate>
<asp:TextBox ID="txt金額" runat="server" Text='<%# Bind("金額") %>' MaxLength="6" CssClass="inputFull"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" Display="Dynamic"
ErrorMessage="請輸入" ControlToValidate="txt金額"></asp:RequiredFieldValidator>
<asp:RangeValidator ID="RangeValidator1" runat="server" Display="Dynamic"
ErrorMessage="請輸入 1-999999 的數字" ControlToValidate="txt金額" MaximumValue="999999"
MinimumValue="1" Type="Integer"></asp:RangeValidator>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("金額", "{0:###,##0}") %>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="80px" HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField HeaderText="摘要" SortExpression="摘要">
<EditItemTemplate>
<asp:TextBox ID="txt摘要" runat="server" Text='<%# Bind("摘要") %>' CssClass="inputFull"
MaxLength="500"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" Display="Dynamic"
ErrorMessage="請輸入" ControlToValidate="txt摘要"></asp:RequiredFieldValidator>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("摘要") %>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="300px" />
</asp:TemplateField>
</Columns>
<PagerTemplate>
<WebLib:GridViewPager ID="GridViewPager1" runat="server" />
</PagerTemplate>
</asp:GridView>
</asp:Panel>
</asp:Content>
@@ -0,0 +1,55 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using WebLib;
namespace Education.Forms.
{
public partial class 使 : FormBase
{
private DAC_課程經費 Dao課程經費;
protected void Page_Load(object sender, EventArgs e)
{
FunctionName = "課程使用經費登錄";
Dao課程經費 = new DAC_課程經費(conn);
if (IsPostBack)
{
Panel1.Visible = . > 0;
if (Panel1.Visible)
GridView1.DataBind();
}
}
protected void btnInsert_Click(object sender, EventArgs e)
{
if (!IsValid)
return;
newValue = new ();
newValue. = .;
newValue. = rbl收支.SelectedValue;
newValue. = DAC.GetInt32(txt金額.Text);
newValue. = txt摘要.Text;
Dao課程經費.InsertOne(newValue);
txt金額.Text = "";
txt摘要.Text = "";
GridView1.DataBind();
}
protected void ds已上課_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao訓練課程企劃;
}
protected void btn查詢1_Click(object sender, EventArgs e)
{
GridView1.DataBind();
}
}
}
@@ -0,0 +1,134 @@
//------------------------------------------------------------------------------
// <自動產生>
// 這段程式碼是由工具產生的。
//
// 變更這個檔案可能會導致不正確的行為,而且如果已重新產生
// 程式碼,則會遺失變更。
// </自動產生>
//------------------------------------------------------------------------------
namespace Education.Forms.
{
public partial class 使
{
/// <summary>
/// ds課程經費 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds課程經費;
/// <summary>
/// 訓練企劃搜尋 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::Education.Forms.Common. ;
/// <summary>
/// lbMessage 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbMessage;
/// <summary>
/// Panel1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Panel Panel1;
/// <summary>
/// btnInsert 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btnInsert;
/// <summary>
/// Label10 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label10;
/// <summary>
/// rbl收支 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.RadioButtonList rbl收支;
/// <summary>
/// txt金額 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txt金額;
/// <summary>
/// RequiredFieldValidator1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
/// <summary>
/// RangeValidator1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.RangeValidator RangeValidator1;
/// <summary>
/// txt摘要 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txt摘要;
/// <summary>
/// RequiredFieldValidator2 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2;
/// <summary>
/// GridView1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.GridView GridView1;
}
}
@@ -0,0 +1,91 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site2.Master" AutoEventWireup="true"
CodeBehind="課程剪影處理.aspx.cs" Inherits="Education.Forms.辦訓狀況.課程剪影處理" %>
<%@ Register Assembly="WebLib" Namespace="WebLib" TagPrefix="cc1" %>
<%@ Register Src="../Common/訓練企劃搜尋.ascx" TagName="訓練企劃搜尋" TagPrefix="uc1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:ObjectDataSource ID="ds已上課" runat="server" OldValuesParameterFormatString="original_{0}"
SelectMethod="Select已上課未結案" TypeName="Education.DAC_訓練課程企劃" OnObjectCreating="ds已上課_ObjectCreating">
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds課程剪影" runat="server" DataObjectTypeName="Education.課程剪影"
DeleteMethod="DeleteOne" OldValuesParameterFormatString="original_{0}" SelectMethod="SelectBy課程企劃編號"
TypeName="Education.DAC_課程剪影" UpdateMethod="UpdateOne">
<SelectParameters>
<asp:ControlParameter ControlID="訓練企劃搜尋" Name="課程企劃編號" PropertyName="訓練企劃編號"
Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<uc1:訓練企劃搜尋 ID="訓練企劃搜尋" runat="server" 包含已結案="True" OnClick="btn查詢_Click"
訓練企劃狀態="已上課未結案" />
<asp:Label ID="lbMessage" runat="server" CssClass="ErrorMessage" EnableViewState="False"></asp:Label>
<asp:Panel ID="Panel1" runat="server">
<table>
<tr>
<td class="caption">
<asp:Label ID="Label3" runat="server" Text="照片說明"></asp:Label></td>
<td class="datainput">
<asp:TextBox ID="txt照片說明" runat="server" Columns="100" ValidationGroup="insert"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txt照片說明"
CssClass="ErrorMessage" Display="Dynamic" ErrorMessage="請輸入" ValidationGroup="insert"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="Label1" runat="server" Text="照片上傳"></asp:Label></td>
<td class="datainput">
<asp:FileUpload ID="fu照片上傳" runat="server" />
<asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="fu照片上傳"
CssClass="ErrorMessage" Display="Dynamic" ErrorMessage="請選擇要上傳的照片" OnServerValidate="CustomValidator1_ServerValidate"
ValidateEmptyText="True" ValidationGroup="insert"></asp:CustomValidator>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td class="datainput">
<asp:LinkButton ID="btnInsert" runat="server" CssClass="button blue80" OnClick="btnInsert_Click"
ValidationGroup="insert">新增</asp:LinkButton>
</td>
</tr>
</table>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="課程企劃編號,照片序號,DB_APPNO"
DataSourceID="ds課程剪影" EnableModelValidation="True" AllowPaging="True" OnRowDataBound="GridView1_RowDataBound"
OnRowDeleting="GridView1_RowDeleting">
<Columns>
<asp:TemplateField ShowHeader="False">
<EditItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True" CommandName="Update"
CssClass="button blue60" Text="儲存"></asp:LinkButton>
<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel"
CssClass="button red60" OnClientClick="return confirm(&quot;是否確定放棄更正?&quot;);"
Text="取消"></asp:LinkButton>
</EditItemTemplate>
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Edit"
CssClass="button green60" Text="更正"></asp:LinkButton>
<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Delete"
CssClass="button red60" OnClientClick="return confirm(&quot;是否確定刪除此張照片?&quot;);"
Text="刪除"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="照片序號" HeaderText="照片序號" ReadOnly="True" SortExpression="照片序號" />
<asp:BoundField DataField="照片說明" HeaderText="照片說明" SortExpression="照片說明" />
<asp:TemplateField HeaderText="照片縮圖">
<ItemTemplate>
<asp:Image ID="Image1" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerTemplate>
<cc1:GridViewPager ID="GridViewPager1" runat="server" />
</PagerTemplate>
</asp:GridView>
</asp:Panel>
</asp:Content>
@@ -0,0 +1,99 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using WebLib;
namespace Education.Forms.
{
public partial class : FormBase
{
private DAC_課程剪影 Dao課程剪影;
private string ;
protected void Page_Load(object sender, EventArgs e)
{
FunctionName = "課程剪影";
Dao課程剪影 = new DAC_課程剪影(conn);
= Server.MapPath(Education.PublicVariable.);
if (IsPostBack)
{
GridView1.DataBind();
}
Panel1.Style["display"] = . > 0 ? "block" : "none";
RegisterPostbackTrigger(btnInsert);
}
protected void ds已上課_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao訓練課程企劃;
}
protected void btnInsert_Click(object sender, EventArgs e)
{
if (!IsValid)
return;
newValue = new ();
newValue. = .;
newValue. = txt照片說明.Text;
newValue. = Dao課程剪影.Next照片序號(newValue.);
newValue.DB_CRUSR = UserId;
Dao課程剪影.InsertOne(newValue);
string savePath = String.Format("{0}{1}", , newValue.);
if (!Directory.Exists(savePath))
Directory.CreateDirectory(savePath);
string tFullName = String.Format("{0}\\T_{1:000000}.jpg", savePath, newValue.);
MemoryStream ms = PictureProcess.(fu照片上傳.PostedFile.InputStream, 270, 270);
File.WriteAllBytes(tFullName, ms.ToArray());
ms.Dispose();
tFullName = String.Format("{0}\\{1:000000}.jpg", savePath, newValue.);
ms = PictureProcess.(fu照片上傳.PostedFile.InputStream, 1200, 1200);
File.WriteAllBytes(tFullName, ms.ToArray());
ms.Dispose();
GridView1.DataBind();
}
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
args.IsValid = fu照片上傳.HasFile;
}
protected void btn查詢_Click(object sender, EventArgs e)
{
GridView1.DataBind();
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType != DataControlRowType.DataRow)
return;
dataItem = e.Row.DataItem as ;
(e.Row.Cells[3].FindControl("Image1") as Image).ImageUrl = String.Format(Education.PublicVariable. + "{0}/T_{1:000000}.jpg",
dataItem., dataItem.);
}
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int ID = DAC.GetInt32(e.Keys["課程企劃編號"]);
int = DAC.GetInt32(e.Keys["照片序號"]);
string fileName1 = String.Format("{0}{1}\\T_{2:000000}.jpg", , ID, );
string fileName2 = String.Format("{0}{1}\\{2:000000}.jpg", , ID, );
if (File.Exists(fileName1))
File.Delete(fileName1);
if (File.Exists(fileName2))
File.Delete(fileName2);
}
}
}
@@ -0,0 +1,134 @@
//------------------------------------------------------------------------------
// <自動產生>
// 這段程式碼是由工具產生的。
//
// 變更這個檔案可能會導致不正確的行為,而且如果已重新產生
// 程式碼,則會遺失變更。
// </自動產生>
//------------------------------------------------------------------------------
namespace Education.Forms.
{
public partial class
{
/// <summary>
/// ds已上課 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds已上課;
/// <summary>
/// ds課程剪影 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds課程剪影;
/// <summary>
/// 訓練企劃搜尋 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::Education.Forms.Common. ;
/// <summary>
/// lbMessage 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbMessage;
/// <summary>
/// Panel1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Panel Panel1;
/// <summary>
/// Label3 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label3;
/// <summary>
/// txt照片說明 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txt照片說明;
/// <summary>
/// RequiredFieldValidator1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
/// <summary>
/// Label1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label1;
/// <summary>
/// fu照片上傳 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.FileUpload fu照片上傳;
/// <summary>
/// CustomValidator1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.CustomValidator CustomValidator1;
/// <summary>
/// btnInsert 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btnInsert;
/// <summary>
/// GridView1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.GridView GridView1;
}
}
@@ -0,0 +1,257 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/PopupForm4.Master"
AutoEventWireup="true"
CodeBehind="講師評鑑.aspx.cs"
Inherits="Education.Forms.辦訓狀況.講師評鑑" %>
<%@ Register Assembly="WebLib" Namespace="WebLib" TagPrefix="weblib" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<script type="text/javascript">
function FillMessage(id, msg)
{
var control = $("#" + id);
if (control.val() !== "" && msg !== "")
control.val(control.val() + msg);
else if (msg !== "")
control.val(msg);
control.focus();
}
function togglePhrase(id)
{
if ($("#" + id).hasClass("hide"))
$("#" + id).removeClass("hide");
else
$("#" + id).addClass("hide");
}
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<table border="0" cellpadding="3" cellspacing="2" style="table-layout: fixed;">
<tr>
<td colspan="1" class="widthcontrol" style="width: 120px;"></td>
<td colspan="1" class="widthcontrol" style="width: 120px;"></td>
<td colspan="1" class="widthcontrol" style="width: 90px;"></td>
<td colspan="1" class="widthcontrol" style="width: 120px;"></td>
<td colspan="1" class="widthcontrol" style="width: 90px;"></td>
<td colspan="1" class="widthcontrol" style="width: 120px;"></td>
<td colspan="1" class="widthcontrol" style="width: 90px;"></td>
<td colspan="1" class="widthcontrol" style="width: 120px;"></td>
</tr>
<tr>
<td class="caption">講師
</td>
<td class="datadisplay" colspan="7">
<%= string.Format("{0:0000}", 講師編號) %>
<%= daoTeacher.Get姓名(講師編號) %>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb日期Label" runat="server" Text="日期"></asp:Label>
</td>
<td class="datainput" colspan="1">
<div>
<weblib:DateTextBox ID="txt日期" runat="server" DateOrder="YMD" DateSeparator="" CssClass="inputFull"></weblib:DateTextBox>
</div>
<asp:RequiredFieldValidator ID="rfv日期" runat="server"
ErrorMessage="請輸入日期" ControlToValidate="txt日期"
Display="Dynamic"></asp:RequiredFieldValidator>
<asp:CustomValidator ID="cv日期" runat="server"
ControlToValidate="txt日期" Display="Dynamic"
OnServerValidate="cv日期_ServerValidate"></asp:CustomValidator>
</td>
<td class="caption">
<asp:Label ID="lb地點Label" runat="server" Text="地點"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:TextBox ID="txt地點" runat="server" MaxLength="100" CssClass="inputFull"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfv地點" runat="server"
ErrorMessage="請輸入地點" ControlToValidate="txt地點"
Display="Dynamic"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb人數Label" runat="server" Text="人數"></asp:Label>
</td>
<td class="datainput" colspan="1">
<asp:TextBox ID="txt人數" runat="server" MaxLength="6" CssClass="inputFull"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfv人數" runat="server"
ErrorMessage="請輸入人數" ControlToValidate="txt人數"
Display="Dynamic"></asp:RequiredFieldValidator>
<asp:RangeValidator ID="rgv人數" runat="server"
ControlToValidate="txt人數" Display="Dynamic" ErrorMessage="請輸入數字"
MinimumValue="0" MaximumValue="2147483647" Type="Integer"></asp:RangeValidator>
</td>
<td class="caption">
<asp:Label ID="lb對象Label" runat="server" Text="對象"></asp:Label>
</td>
<td class="datainput" colspan="5">
<asp:TextBox ID="txt對象" runat="server" MaxLength="100" CssClass="inputFull"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfv對象" runat="server"
ErrorMessage="請輸入對象" ControlToValidate="txt對象"
Display="Dynamic"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="lb課程名稱Label" runat="server" Text="課程名稱"></asp:Label>
</td>
<td class="datainput" colspan="7">
<asp:TextBox ID="txt課程名稱" runat="server" MaxLength="100" CssClass="inputFull"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfv課程名稱" runat="server"
ErrorMessage="請輸入課程名稱" ControlToValidate="txt課程名稱"
Display="Dynamic"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="caption">講師評鑑(跟課)</td>
<td class="datadisplay" colspan="7">評分提示:每個欄位滿分20分,極優19-20 / 優 17-18 / 普通 15-16 / 差 13-14 / 極差 12 以下</td>
</tr>
<tr>
<td></td>
<td colspan="7">
<table>
<tr>
<td colspan="1" class="widthcontrol" style="width: 4rem;"></td>
<td colspan="1" class="widthcontrol" style="width: 120px;"></td>
<td colspan="1" class="widthcontrol" style="width: 4rem;"></td>
<td colspan="1" class="widthcontrol" style="width: 120px;"></td>
<td colspan="1" class="widthcontrol" style="width: 4rem;"></td>
<td colspan="1" class="widthcontrol" style="width: 120px;"></td>
</tr>
<tr>
<td class="caption">專業度</td>
<td class="datainput" colspan="1">
<asp:TextBox ID="txt專業度" runat="server" MaxLength="2" placeholder="最高20分" CssClass="inputFull"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfv專業度" runat="server"
ErrorMessage="請輸入專業度" ControlToValidate="txt專業度"
Display="Dynamic"></asp:RequiredFieldValidator>
<asp:RangeValidator ID="rgv專業度" runat="server"
ControlToValidate="txt專業度" Display="Dynamic" ErrorMessage="請輸入0-20的數字"
MinimumValue="0" MaximumValue="20" Type="Integer"></asp:RangeValidator>
</td>
<td class="caption">授課技巧</td>
<td class="datainput" colspan="1">
<asp:TextBox ID="txt授課技巧" runat="server" MaxLength="2" placeholder="最高20分" CssClass="inputFull"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfv授課技巧" runat="server"
ErrorMessage="請輸入授課技巧" ControlToValidate="txt授課技巧"
Display="Dynamic"></asp:RequiredFieldValidator>
<asp:RangeValidator ID="rgv授課技巧" runat="server"
ControlToValidate="txt授課技巧" Display="Dynamic" ErrorMessage="請輸入0-20的數字"
MinimumValue="0" MaximumValue="20" Type="Integer"></asp:RangeValidator>
</td>
<td class="caption">互動氛圍</td>
<td class="datainput" colspan="1">
<asp:TextBox ID="txt互動氛圍" runat="server" MaxLength="2" placeholder="最高20分" CssClass="inputFull"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfv互動氛圍" runat="server"
ErrorMessage="請輸入互動氛圍" ControlToValidate="txt互動氛圍"
Display="Dynamic"></asp:RequiredFieldValidator>
<asp:RangeValidator ID="rgv互動氛圍" runat="server"
ControlToValidate="txt互動氛圍" Display="Dynamic" ErrorMessage="請輸入0-20的數字"
MinimumValue="0" MaximumValue="20" Type="Integer"></asp:RangeValidator>
</td>
</tr>
<tr>
<td class="caption">內容切題</td>
<td class="datainput" colspan="1">
<asp:TextBox ID="txt內容切題" runat="server" MaxLength="2" placeholder="最高20分" CssClass="inputFull"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfv內容切題" runat="server"
ErrorMessage="請輸入內容切題" ControlToValidate="txt內容切題"
Display="Dynamic"></asp:RequiredFieldValidator>
<asp:RangeValidator ID="rgv內容切題" runat="server"
ControlToValidate="txt內容切題" Display="Dynamic" ErrorMessage="請輸入0-20的數字"
MinimumValue="0" MaximumValue="20" Type="Integer"></asp:RangeValidator>
</td>
<td class="caption">配合度</td>
<td class="datainput" colspan="1">
<asp:TextBox ID="txt配合度" runat="server" MaxLength="2" placeholder="最高20分" CssClass="inputFull"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfv配合度" runat="server"
ErrorMessage="請輸入配合度" ControlToValidate="txt配合度"
Display="Dynamic"></asp:RequiredFieldValidator>
<asp:RangeValidator ID="rgv配合度" runat="server"
ControlToValidate="txt配合度" Display="Dynamic" ErrorMessage="請輸入0-20的數字"
MinimumValue="0" MaximumValue="20" Type="Integer"></asp:RangeValidator>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="caption">講師評鑑(學員)</td>
<td class="datadisplay" colspan="7">評分提示:請輸入該堂課學員評講師表現平均分數</td>
</tr>
<tr>
<td></td>
<td colspan="7">
<table>
<tr>
<td colspan="1" class="widthcontrol" style="width: 8rem;"></td>
<td colspan="1" class="widthcontrol" style="width: 120px;"></td>
<td colspan="1" class="widthcontrol" style="width: 90px;"></td>
<td colspan="1" class="widthcontrol" style="width: 120px;"></td>
<td colspan="1" class="widthcontrol" style="width: 90px;"></td>
<td colspan="1" class="widthcontrol" style="width: 120px;"></td>
</tr>
<tr>
<td class="caption">講師表現平均分數</td>
<td class="datainput" colspan="1">
<asp:TextBox ID="txt學員滿意度" runat="server" MaxLength="3" placeholder="最高100分" CssClass="inputFull"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfv學員滿意度" runat="server"
ErrorMessage="請輸入學員滿意度" ControlToValidate="txt學員滿意度"
Display="Dynamic"></asp:RequiredFieldValidator>
<asp:RangeValidator ID="rgv學員滿意度" runat="server"
ControlToValidate="txt學員滿意度" Display="Dynamic" ErrorMessage="請輸入0-100的數字"
MinimumValue="0" MaximumValue="100" Type="Integer"></asp:RangeValidator>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="caption">跟課觀察
<div>
<button type="button" class="button floatRight gray40"
onclick="togglePhrase('div跟課觀察')">
片語</button>
</div>
</td>
<td class="datainput" colspan="7">
<asp:TextBox ID="txt跟課觀察" runat="server" MaxLength="1000" Rows="5" TextMode="MultiLine"
CssClass="inputFull"></asp:TextBox>
<div id="div跟課觀察" class="hide">
<asp:DataList ID="dlPhrase跟課觀察" runat="server" CellPadding="0" DataSourceID="ds片語跟課觀察"
RepeatDirection="Horizontal">
<ItemStyle Wrap="False" />
<ItemTemplate>
<asp:LinkButton ID="LinkButton2" runat="server" CssClass="phraselink"
OnClientClick='<%# GetPhraseClientClick(txt跟課觀察, Eval("片語內容", "{0}")) %>'
Text='<%# Eval("片語內容") %>'></asp:LinkButton>
</ItemTemplate>
</asp:DataList>
</div>
</td>
</tr>
<tr>
<td class="caption">講師授課方式
</td>
<td class="datainput" colspan="7">
<asp:TextBox ID="txt講師授課方式" runat="server" MaxLength="1000" Rows="5" TextMode="MultiLine"
CssClass="inputFull"></asp:TextBox>
</td>
</tr>
</table>
<div style="text-align: center;">
<asp:LinkButton ID="btnSave" runat="server" Text="存檔" CssClass="button blue80" OnClick="btnSave_Click" />
<asp:LinkButton ID="btnSaveAndContinue" runat="server" Text="存檔後繼續新增" CssClass="button blue120" OnClick="btnSaveAndContinue_Click" />
</div>
<asp:ObjectDataSource ID="ds片語跟課觀察" runat="server"
TypeName="Education.DAC_片語" SelectMethod="SelectBy適用欄位">
<SelectParameters>
<asp:Parameter DefaultValue="跟課觀察" Name="適用欄位" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
</asp:Content>
@@ -0,0 +1,209 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Script.Services;
using System.Web.Services;
using System.Web.UI;
using System.Web.UI.WebControls;
using WebLib;
namespace Education.Forms.
{
public partial class : FormBase
{
protected DAC_講師 daoTeacher;
protected DAC_講師外訓滿意度 daoEval;
protected int ;
protected int ;
protected string mode;
protected void Page_Load(object sender, EventArgs e)
{
daoTeacher = new DAC_講師(conn);
daoEval = new DAC_講師外訓滿意度(conn);
mode = Request["mode"];
= DAC.GetInt32(Request["id"]);
= DAC.GetInt32(Request["teacherid"]);
btnSaveAndContinue.Visible = mode == "new";
if (mode == "edit" && !IsPostBack)
{
LoadOne();
}
}
protected void ClearInput()
{
txt日期.Text = "";
txt地點.Text = "";
txt人數.Text = "";
txt對象.Text = "";
txt課程名稱.Text = "";
txt專業度.Text = "";
txt授課技巧.Text = "";
txt互動氛圍.Text = "";
txt內容切題.Text = "";
txt配合度.Text = "";
txt學員滿意度.Text = "";
txt講師授課方式.Text = "";
}
protected bool CheckInput()
{
return this.IsValid;
}
protected void LoadOne()
{
var item = daoEval.SelectOne().FirstOrDefault();
if (item != null)
{
txt日期.Value = item.;
txt地點.Text = item.;
txt人數.Text = DAC.GetString(item.);
txt對象.Text = item.;
txt課程名稱.Text = item.;
txt專業度.Text = DAC.GetString(item.);
txt授課技巧.Text = DAC.GetString(item.);
txt互動氛圍.Text = DAC.GetString(item.);
txt內容切題.Text = DAC.GetString(item.);
txt配合度.Text = DAC.GetString(item.);
txt學員滿意度.Text = DAC.GetString(item.滿);
txt跟課觀察.Text = DAC.GetString(item.);
txt講師授課方式.Text = DAC.GetString(item.);
}
}
protected bool SaveOne()
{
if (mode == "new")
{
try
{
var newItem = daoEval.InsertOne(new 滿Item()
{
= ,
= txt日期.Value,
= txt地點.Text,
= DAC.GetInt32(txt人數.Text),
= txt對象.Text,
= txt課程名稱.Text,
= DAC.GetInt32(txt專業度.Text),
= DAC.GetInt32(txt授課技巧.Text),
= DAC.GetInt32(txt互動氛圍.Text),
= DAC.GetInt32(txt內容切題.Text),
= DAC.GetInt32(txt配合度.Text),
滿 = DAC.GetInt32(txt學員滿意度.Text),
= txt跟課觀察.Text,
= txt講師授課方式.Text,
});
return true;
}
catch (Exception ex)
{
ClientShowMessage(string.Format("存檔過程中發生錯誤:\r\n{0}", ex.Message));
return false;
}
}
else if (mode == "edit")
{
try
{
var item = daoEval.SelectOne().FirstOrDefault();
if (item != null)
{
item. = txt日期.Value;
item. = txt地點.Text;
item. = DAC.GetInt32(txt人數.Text);
item. = txt對象.Text;
item. = txt課程名稱.Text;
item. = DAC.GetInt32(txt專業度.Text);
item. = DAC.GetInt32(txt授課技巧.Text);
item. = DAC.GetInt32(txt互動氛圍.Text);
item. = DAC.GetInt32(txt內容切題.Text);
item. = DAC.GetInt32(txt配合度.Text);
item.滿 = DAC.GetInt32(txt學員滿意度.Text);
item. = txt跟課觀察.Text;
item. = txt講師授課方式.Text;
}
daoEval.UpdateOne(item);
return true;
}
catch (Exception ex)
{
ClientShowMessage(string.Format("存檔過程中發生錯誤:\r\n{0}", ex.Message));
return false;
}
}
return false;
}
protected void btnSave_Click(object sender, EventArgs e)
{
if (CheckInput())
{
if (SaveOne())
{
ScriptManager.RegisterStartupScript(Page, Page.GetType(),
"close_dialog",
"window.parent.$(\"iframe#externalSite\").closest(\".ui-dialog-content\").dialog(\"close\");",
true);
}
}
}
protected void btnSaveAndContinue_Click(object sender, EventArgs e)
{
if (CheckInput())
{
if (SaveOne())
{
ClearInput();
}
}
}
protected void cv日期_ServerValidate(object source, ServerValidateEventArgs args)
{
args.IsValid = txt日期.Value.HasValue;
}
[WebMethod(EnableSession = true)]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static bool DeleteOne(int id)
{
try
{
using (var conn = DAC.NewConnection())
{
var daoEval = new DAC_講師外訓滿意度(conn);
var item = daoEval.SelectOne(id).FirstOrDefault();
if (item != null)
{
daoEval.DeleteOne(item);
return true;
}
return false;
}
}
catch
{
return false;
}
}
protected string GetPhraseClientClick(Control control, string content)
{
string CID = "";
CID = control.ClientID;
if (CID.Length > 0)
return String.Format("javascript:FillMessage(\"{0}\", \"{1}\");return false;", CID, content);
else
return "javascript:return false;";
}
}
}
@@ -0,0 +1,386 @@
//------------------------------------------------------------------------------
// <自動產生>
// 這段程式碼是由工具產生的。
//
// 變更這個檔案可能會導致不正確的行為,而且如果已重新產生
// 程式碼,則會遺失變更。
// </自動產生>
//------------------------------------------------------------------------------
namespace Education.Forms.
{
public partial class
{
/// <summary>
/// lb日期Label 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lb日期Label;
/// <summary>
/// txt日期 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::WebLib.DateTextBox txt日期;
/// <summary>
/// rfv日期 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.RequiredFieldValidator rfv日期;
/// <summary>
/// cv日期 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.CustomValidator cv日期;
/// <summary>
/// lb地點Label 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lb地點Label;
/// <summary>
/// txt地點 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txt地點;
/// <summary>
/// rfv地點 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.RequiredFieldValidator rfv地點;
/// <summary>
/// lb人數Label 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lb人數Label;
/// <summary>
/// txt人數 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txt人數;
/// <summary>
/// rfv人數 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.RequiredFieldValidator rfv人數;
/// <summary>
/// rgv人數 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.RangeValidator rgv人數;
/// <summary>
/// lb對象Label 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lb對象Label;
/// <summary>
/// txt對象 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txt對象;
/// <summary>
/// rfv對象 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.RequiredFieldValidator rfv對象;
/// <summary>
/// lb課程名稱Label 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lb課程名稱Label;
/// <summary>
/// txt課程名稱 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txt課程名稱;
/// <summary>
/// rfv課程名稱 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.RequiredFieldValidator rfv課程名稱;
/// <summary>
/// txt專業度 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txt專業度;
/// <summary>
/// rfv專業度 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.RequiredFieldValidator rfv專業度;
/// <summary>
/// rgv專業度 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.RangeValidator rgv專業度;
/// <summary>
/// txt授課技巧 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txt授課技巧;
/// <summary>
/// rfv授課技巧 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.RequiredFieldValidator rfv授課技巧;
/// <summary>
/// rgv授課技巧 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.RangeValidator rgv授課技巧;
/// <summary>
/// txt互動氛圍 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txt互動氛圍;
/// <summary>
/// rfv互動氛圍 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.RequiredFieldValidator rfv互動氛圍;
/// <summary>
/// rgv互動氛圍 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.RangeValidator rgv互動氛圍;
/// <summary>
/// txt內容切題 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txt內容切題;
/// <summary>
/// rfv內容切題 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.RequiredFieldValidator rfv內容切題;
/// <summary>
/// rgv內容切題 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.RangeValidator rgv內容切題;
/// <summary>
/// txt配合度 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txt配合度;
/// <summary>
/// rfv配合度 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.RequiredFieldValidator rfv配合度;
/// <summary>
/// rgv配合度 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.RangeValidator rgv配合度;
/// <summary>
/// txt學員滿意度 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txt學員滿意度;
/// <summary>
/// rfv學員滿意度 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.RequiredFieldValidator rfv學員滿意度;
/// <summary>
/// rgv學員滿意度 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.RangeValidator rgv學員滿意度;
/// <summary>
/// txt跟課觀察 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txt跟課觀察;
/// <summary>
/// dlPhrase跟課觀察 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.DataList dlPhrase跟課觀察;
/// <summary>
/// txt講師授課方式 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txt講師授課方式;
/// <summary>
/// btnSave 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btnSave;
/// <summary>
/// btnSaveAndContinue 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btnSaveAndContinue;
/// <summary>
/// ds片語跟課觀察 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds片語跟課觀察;
}
}