업무일지 입력창을 rtf 로 변경

This commit is contained in:
chi
2020-05-19 10:43:16 +09:00
parent 0daf284264
commit 117d7a3ba2
24 changed files with 9614 additions and 9364 deletions

View File

@@ -32,11 +32,13 @@
System.Windows.Forms.Label hrsLabel;
System.Windows.Forms.Label typeLabel;
System.Windows.Forms.Label label1;
System.Windows.Forms.Label label2;
System.Windows.Forms.Label projectLabel;
System.Windows.Forms.Label label4;
System.Windows.Forms.Label stateLabel;
System.Windows.Forms.Label label5;
System.Windows.Forms.Label label3;
System.Windows.Forms.Label label6;
System.Windows.Forms.Label label2;
this.lbSummary = new System.Windows.Forms.Label();
this.tbHrs = new System.Windows.Forms.TextBox();
this.bs = new System.Windows.Forms.BindingSource(this.components);
@@ -46,7 +48,6 @@
this.lbIndex = new System.Windows.Forms.ToolStripStatusLabel();
this.cmbType = new System.Windows.Forms.ComboBox();
this.btSave = new System.Windows.Forms.Button();
this.tbDescription = new System.Windows.Forms.TextBox();
this.dtPdate = new System.Windows.Forms.DateTimePicker();
this.cmbUser = new System.Windows.Forms.ComboBox();
this.tbProjectIndex = new System.Windows.Forms.TextBox();
@@ -60,69 +61,65 @@
this.tam = new FPJ0000.dsPRJTableAdapters.TableAdapterManager();
this.chkAutoAdd = new System.Windows.Forms.CheckBox();
this.tbProject = new System.Windows.Forms.ComboBox();
this.richTextBoxEx1 = new RichTextBoxEx.RichTextBoxEx();
this.panel1 = new System.Windows.Forms.Panel();
hrsLabel = new System.Windows.Forms.Label();
typeLabel = new System.Windows.Forms.Label();
label1 = new System.Windows.Forms.Label();
label2 = new System.Windows.Forms.Label();
projectLabel = new System.Windows.Forms.Label();
label4 = new System.Windows.Forms.Label();
stateLabel = new System.Windows.Forms.Label();
label5 = new System.Windows.Forms.Label();
label3 = new System.Windows.Forms.Label();
label6 = new System.Windows.Forms.Label();
label2 = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.bs)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dsPRJ)).BeginInit();
this.statusStrip1.SuspendLayout();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// hrsLabel
//
hrsLabel.AutoSize = true;
hrsLabel.Location = new System.Drawing.Point(18, 162);
hrsLabel.Location = new System.Drawing.Point(15, 98);
hrsLabel.Name = "hrsLabel";
hrsLabel.Size = new System.Drawing.Size(115, 12);
hrsLabel.Size = new System.Drawing.Size(53, 12);
hrsLabel.TabIndex = 16;
hrsLabel.Text = "근무시간 / 초과시간";
hrsLabel.Text = "근무시간";
//
// typeLabel
//
typeLabel.AutoSize = true;
typeLabel.Location = new System.Drawing.Point(18, 129);
typeLabel.Location = new System.Drawing.Point(374, 65);
typeLabel.Name = "typeLabel";
typeLabel.Size = new System.Drawing.Size(115, 12);
typeLabel.Size = new System.Drawing.Size(53, 12);
typeLabel.TabIndex = 13;
typeLabel.Text = "업무형태 / 업무분류";
typeLabel.Text = "업무형태";
//
// label1
//
label1.AutoSize = true;
label1.Location = new System.Drawing.Point(30, 100);
label1.Location = new System.Drawing.Point(15, 65);
label1.Name = "label1";
label1.Size = new System.Drawing.Size(103, 12);
label1.Size = new System.Drawing.Size(53, 12);
label1.TabIndex = 10;
label1.Text = "요청부서 / 패키지";
//
// label2
//
label2.AutoSize = true;
label2.Location = new System.Drawing.Point(76, 190);
label2.Name = "label2";
label2.Size = new System.Drawing.Size(57, 12);
label2.TabIndex = 18;
label2.Text = "진행 내용";
label1.Text = "요청부서";
//
// projectLabel
//
projectLabel.AutoSize = true;
projectLabel.Location = new System.Drawing.Point(30, 73);
projectLabel.Location = new System.Drawing.Point(15, 39);
projectLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
projectLabel.Name = "projectLabel";
projectLabel.Size = new System.Drawing.Size(103, 12);
projectLabel.Size = new System.Drawing.Size(53, 12);
projectLabel.TabIndex = 7;
projectLabel.Text = "프로젝트 (아이템)";
projectLabel.Text = "프로젝트";
//
// label4
//
label4.AutoSize = true;
label4.Location = new System.Drawing.Point(92, 46);
label4.Location = new System.Drawing.Point(531, 12);
label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
label4.Name = "label4";
label4.Size = new System.Drawing.Size(41, 12);
@@ -132,7 +129,7 @@
// stateLabel
//
stateLabel.AutoSize = true;
stateLabel.Location = new System.Drawing.Point(388, 18);
stateLabel.Location = new System.Drawing.Point(320, 12);
stateLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
stateLabel.Name = "stateLabel";
stateLabel.Size = new System.Drawing.Size(29, 12);
@@ -142,18 +139,36 @@
// label5
//
label5.AutoSize = true;
label5.Location = new System.Drawing.Point(92, 18);
label5.Location = new System.Drawing.Point(27, 12);
label5.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
label5.Name = "label5";
label5.Size = new System.Drawing.Size(41, 12);
label5.TabIndex = 0;
label5.Text = "등록일";
//
// label3
//
label3.AutoSize = true;
label3.Location = new System.Drawing.Point(188, 65);
label3.Name = "label3";
label3.Size = new System.Drawing.Size(41, 12);
label3.TabIndex = 10;
label3.Text = "패키지";
//
// label6
//
label6.AutoSize = true;
label6.Location = new System.Drawing.Point(582, 65);
label6.Name = "label6";
label6.Size = new System.Drawing.Size(53, 12);
label6.TabIndex = 13;
label6.Text = "업무분류";
//
// lbSummary
//
this.lbSummary.AutoSize = true;
this.lbSummary.ForeColor = System.Drawing.Color.SlateGray;
this.lbSummary.Location = new System.Drawing.Point(309, 156);
this.lbSummary.Location = new System.Drawing.Point(298, 92);
this.lbSummary.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.lbSummary.Name = "lbSummary";
this.lbSummary.Size = new System.Drawing.Size(195, 24);
@@ -164,7 +179,7 @@
//
this.tbHrs.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs, "hrs", true, System.Windows.Forms.DataSourceUpdateMode.OnValidation, null, "N2"));
this.tbHrs.Font = new System.Drawing.Font("맑은 고딕", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.tbHrs.Location = new System.Drawing.Point(141, 151);
this.tbHrs.Location = new System.Drawing.Point(72, 88);
this.tbHrs.Name = "tbHrs";
this.tbHrs.Size = new System.Drawing.Size(77, 33);
this.tbHrs.TabIndex = 17;
@@ -185,9 +200,9 @@
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripStatusLabel1,
this.lbIndex});
this.statusStrip1.Location = new System.Drawing.Point(0, 443);
this.statusStrip1.Location = new System.Drawing.Point(0, 659);
this.statusStrip1.Name = "statusStrip1";
this.statusStrip1.Size = new System.Drawing.Size(538, 22);
this.statusStrip1.Size = new System.Drawing.Size(969, 22);
this.statusStrip1.TabIndex = 28;
this.statusStrip1.Text = "statusStrip1";
//
@@ -207,36 +222,26 @@
//
this.cmbType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbType.FormattingEnabled = true;
this.cmbType.Location = new System.Drawing.Point(141, 123);
this.cmbType.Location = new System.Drawing.Point(431, 61);
this.cmbType.Name = "cmbType";
this.cmbType.Size = new System.Drawing.Size(183, 20);
this.cmbType.Size = new System.Drawing.Size(142, 20);
this.cmbType.TabIndex = 14;
this.cmbType.SelectedIndexChanged += new System.EventHandler(this.cmbType_SelectedIndexChanged);
//
// btSave
//
this.btSave.Location = new System.Drawing.Point(141, 376);
this.btSave.BackColor = System.Drawing.Color.SkyBlue;
this.btSave.Location = new System.Drawing.Point(829, 6);
this.btSave.Name = "btSave";
this.btSave.Size = new System.Drawing.Size(381, 43);
this.btSave.Size = new System.Drawing.Size(133, 115);
this.btSave.TabIndex = 20;
this.btSave.Text = "확인";
this.btSave.UseVisualStyleBackColor = true;
this.btSave.UseVisualStyleBackColor = false;
this.btSave.Click += new System.EventHandler(this.button1_Click);
//
// tbDescription
//
this.tbDescription.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs, "description", true));
this.tbDescription.ImeMode = System.Windows.Forms.ImeMode.Hangul;
this.tbDescription.Location = new System.Drawing.Point(141, 190);
this.tbDescription.Multiline = true;
this.tbDescription.Name = "tbDescription";
this.tbDescription.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.tbDescription.Size = new System.Drawing.Size(381, 181);
this.tbDescription.TabIndex = 19;
//
// dtPdate
//
this.dtPdate.Location = new System.Drawing.Point(141, 14);
this.dtPdate.Location = new System.Drawing.Point(73, 8);
this.dtPdate.Margin = new System.Windows.Forms.Padding(4);
this.dtPdate.Name = "dtPdate";
this.dtPdate.Size = new System.Drawing.Size(178, 21);
@@ -250,16 +255,16 @@
this.cmbUser.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbUser.FormattingEnabled = true;
this.cmbUser.ImeMode = System.Windows.Forms.ImeMode.Hangul;
this.cmbUser.Location = new System.Drawing.Point(141, 42);
this.cmbUser.Location = new System.Drawing.Point(588, 8);
this.cmbUser.Margin = new System.Windows.Forms.Padding(4);
this.cmbUser.Name = "cmbUser";
this.cmbUser.Size = new System.Drawing.Size(381, 20);
this.cmbUser.Size = new System.Drawing.Size(234, 20);
this.cmbUser.TabIndex = 6;
this.cmbUser.SelectedIndexChanged += new System.EventHandler(this.cmbUser_SelectedIndexChanged);
//
// tbProjectIndex
//
this.tbProjectIndex.Location = new System.Drawing.Point(458, 69);
this.tbProjectIndex.Location = new System.Drawing.Point(758, 35);
this.tbProjectIndex.Margin = new System.Windows.Forms.Padding(4);
this.tbProjectIndex.Name = "tbProjectIndex";
this.tbProjectIndex.ReadOnly = true;
@@ -273,7 +278,7 @@
this.tbOt.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs, "ot", true));
this.tbOt.Font = new System.Drawing.Font("맑은 고딕", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.tbOt.ForeColor = System.Drawing.Color.Red;
this.tbOt.Location = new System.Drawing.Point(224, 151);
this.tbOt.Location = new System.Drawing.Point(213, 88);
this.tbOt.Name = "tbOt";
this.tbOt.Size = new System.Drawing.Size(77, 33);
this.tbOt.TabIndex = 17;
@@ -281,7 +286,7 @@
//
// tbWW
//
this.tbWW.Location = new System.Drawing.Point(321, 14);
this.tbWW.Location = new System.Drawing.Point(253, 8);
this.tbWW.Margin = new System.Windows.Forms.Padding(4);
this.tbWW.Name = "tbWW";
this.tbWW.ReadOnly = true;
@@ -294,37 +299,37 @@
//
this.cmbProcess.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbProcess.FormattingEnabled = true;
this.cmbProcess.Location = new System.Drawing.Point(339, 123);
this.cmbProcess.Location = new System.Drawing.Point(641, 61);
this.cmbProcess.Name = "cmbProcess";
this.cmbProcess.Size = new System.Drawing.Size(183, 20);
this.cmbProcess.Size = new System.Drawing.Size(181, 20);
this.cmbProcess.TabIndex = 15;
//
// cmbState
//
this.cmbState.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
this.cmbState.FormattingEnabled = true;
this.cmbState.Location = new System.Drawing.Point(421, 14);
this.cmbState.Location = new System.Drawing.Point(353, 8);
this.cmbState.Margin = new System.Windows.Forms.Padding(4);
this.cmbState.Name = "cmbState";
this.cmbState.Size = new System.Drawing.Size(101, 20);
this.cmbState.Size = new System.Drawing.Size(160, 20);
this.cmbState.TabIndex = 4;
//
// cmbPackage
//
this.cmbPackage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbPackage.FormattingEnabled = true;
this.cmbPackage.Location = new System.Drawing.Point(339, 97);
this.cmbPackage.Location = new System.Drawing.Point(235, 61);
this.cmbPackage.Name = "cmbPackage";
this.cmbPackage.Size = new System.Drawing.Size(183, 20);
this.cmbPackage.Size = new System.Drawing.Size(131, 20);
this.cmbPackage.TabIndex = 12;
//
// cmbRequest
//
this.cmbRequest.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbRequest.FormattingEnabled = true;
this.cmbRequest.Location = new System.Drawing.Point(141, 97);
this.cmbRequest.Location = new System.Drawing.Point(73, 61);
this.cmbRequest.Name = "cmbRequest";
this.cmbRequest.Size = new System.Drawing.Size(183, 20);
this.cmbRequest.Size = new System.Drawing.Size(108, 20);
this.cmbRequest.TabIndex = 11;
//
// ta
@@ -341,12 +346,13 @@
this.tam.ProjectsPartTableAdapter = null;
this.tam.ProjectsScheduleTableAdapter = null;
this.tam.ProjectsTableAdapter = null;
this.tam.SPMasterTableAdapter = null;
this.tam.UpdateOrder = FPJ0000.dsPRJTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete;
//
// chkAutoAdd
//
this.chkAutoAdd.AutoSize = true;
this.chkAutoAdd.Location = new System.Drawing.Point(141, 424);
this.chkAutoAdd.Location = new System.Drawing.Point(646, 94);
this.chkAutoAdd.Name = "chkAutoAdd";
this.chkAutoAdd.Size = new System.Drawing.Size(176, 16);
this.chkAutoAdd.TabIndex = 54;
@@ -359,42 +365,82 @@
this.tbProject.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems;
this.tbProject.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
this.tbProject.FormattingEnabled = true;
this.tbProject.Location = new System.Drawing.Point(140, 69);
this.tbProject.Location = new System.Drawing.Point(72, 35);
this.tbProject.Name = "tbProject";
this.tbProject.Size = new System.Drawing.Size(311, 20);
this.tbProject.Size = new System.Drawing.Size(679, 20);
this.tbProject.TabIndex = 55;
//
// richTextBoxEx1
//
this.richTextBoxEx1.AllowBullets = true;
this.richTextBoxEx1.AllowDefaultInsertText = true;
this.richTextBoxEx1.AllowDefaultSmartText = true;
this.richTextBoxEx1.AllowHyphenation = true;
this.richTextBoxEx1.AllowPictures = true;
this.richTextBoxEx1.AllowSpellCheck = true;
this.richTextBoxEx1.AutoValidate = System.Windows.Forms.AutoValidate.EnablePreventFocusChange;
this.richTextBoxEx1.Dock = System.Windows.Forms.DockStyle.Fill;
this.richTextBoxEx1.FilePath = "";
this.richTextBoxEx1.Location = new System.Drawing.Point(0, 129);
this.richTextBoxEx1.Name = "richTextBoxEx1";
this.richTextBoxEx1.Rtf = "{\\rtf1\\ansi\\ansicpg1252\\deff0{\\fonttbl{\\f0\\fnil\\fcharset0 Arial;}}\r\n\\viewkind4\\uc" +
"1\\pard\\lang1042\\fs20 richTextBoxEx1\\par\r\n}\r\n";
this.richTextBoxEx1.SetColorWithFont = true;
this.richTextBoxEx1.ShowToolStrip = true;
this.richTextBoxEx1.Size = new System.Drawing.Size(969, 530);
this.richTextBoxEx1.TabIndex = 58;
//
// panel1
//
this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(200)))), ((int)(((byte)(200)))), ((int)(((byte)(200)))));
this.panel1.Controls.Add(this.dtPdate);
this.panel1.Controls.Add(this.tbHrs);
this.panel1.Controls.Add(this.tbProject);
this.panel1.Controls.Add(label2);
this.panel1.Controls.Add(hrsLabel);
this.panel1.Controls.Add(this.chkAutoAdd);
this.panel1.Controls.Add(this.cmbType);
this.panel1.Controls.Add(label5);
this.panel1.Controls.Add(typeLabel);
this.panel1.Controls.Add(this.lbSummary);
this.panel1.Controls.Add(label6);
this.panel1.Controls.Add(this.cmbPackage);
this.panel1.Controls.Add(this.btSave);
this.panel1.Controls.Add(this.cmbRequest);
this.panel1.Controls.Add(label1);
this.panel1.Controls.Add(this.cmbState);
this.panel1.Controls.Add(label3);
this.panel1.Controls.Add(stateLabel);
this.panel1.Controls.Add(this.cmbUser);
this.panel1.Controls.Add(this.cmbProcess);
this.panel1.Controls.Add(this.tbProjectIndex);
this.panel1.Controls.Add(this.tbWW);
this.panel1.Controls.Add(projectLabel);
this.panel1.Controls.Add(label4);
this.panel1.Controls.Add(this.tbOt);
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(969, 129);
this.panel1.TabIndex = 59;
//
// label2
//
label2.AutoSize = true;
label2.Location = new System.Drawing.Point(155, 98);
label2.Name = "label2";
label2.Size = new System.Drawing.Size(53, 12);
label2.TabIndex = 16;
label2.Text = "초과시간";
//
// fJobReport_Add
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(538, 465);
this.Controls.Add(this.tbProject);
this.Controls.Add(this.chkAutoAdd);
this.Controls.Add(label5);
this.Controls.Add(this.lbSummary);
this.Controls.Add(this.cmbPackage);
this.Controls.Add(this.cmbRequest);
this.Controls.Add(this.cmbState);
this.Controls.Add(stateLabel);
this.Controls.Add(this.cmbProcess);
this.Controls.Add(this.tbWW);
this.Controls.Add(label4);
this.Controls.Add(this.tbOt);
this.Controls.Add(projectLabel);
this.Controls.Add(this.tbProjectIndex);
this.Controls.Add(this.cmbUser);
this.Controls.Add(this.dtPdate);
this.Controls.Add(label2);
this.Controls.Add(this.tbDescription);
this.Controls.Add(label1);
this.Controls.Add(this.btSave);
this.Controls.Add(typeLabel);
this.Controls.Add(this.cmbType);
this.ClientSize = new System.Drawing.Size(969, 681);
this.Controls.Add(this.richTextBoxEx1);
this.Controls.Add(this.panel1);
this.Controls.Add(this.statusStrip1);
this.Controls.Add(hrsLabel);
this.Controls.Add(this.tbHrs);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "fJobReport_Add";
@@ -404,6 +450,8 @@
((System.ComponentModel.ISupportInitialize)(this.dsPRJ)).EndInit();
this.statusStrip1.ResumeLayout(false);
this.statusStrip1.PerformLayout();
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
@@ -421,7 +469,6 @@
private System.Windows.Forms.ToolStripStatusLabel lbIndex;
private System.Windows.Forms.ComboBox cmbType;
private System.Windows.Forms.Button btSave;
private System.Windows.Forms.TextBox tbDescription;
private System.Windows.Forms.DateTimePicker dtPdate;
private System.Windows.Forms.ComboBox cmbUser;
private System.Windows.Forms.TextBox tbProjectIndex;
@@ -434,5 +481,7 @@
private System.Windows.Forms.Label lbSummary;
private System.Windows.Forms.CheckBox chkAutoAdd;
private System.Windows.Forms.ComboBox tbProject;
private RichTextBoxEx.RichTextBoxEx richTextBoxEx1;
private System.Windows.Forms.Panel panel1;
}
}

View File

@@ -14,7 +14,7 @@ namespace FPJ0000.JobReport
dsPRJ.JobReportRow dr;
Boolean copyMOde = false;
Boolean bInit = false;
public fJobReport_Add(dsPRJ.JobReportRow dr_,Boolean copy=false)
public fJobReport_Add(dsPRJ.JobReportRow dr_, Boolean copy = false)
{
InitializeComponent();
dr = dr_;
@@ -38,16 +38,16 @@ namespace FPJ0000.JobReport
void tbProject_SelectedIndexChanged(object sender, EventArgs e)
{
if (bInit==false || this.tbProject.SelectedIndex < 0) return;
if (bInit == false || this.tbProject.SelectedIndex < 0) return;
var data = this.tbProject.SelectedValue;
if (data == null) return;
if(data.GetType() == typeof(DataRowView))
if (data.GetType() == typeof(DataRowView))
{
var drv = data as DataRowView;
var idx = int.Parse(drv["Code"].ToString());
tbProjectIndex.Text = idx.ToString();
tbProject.Tag = tbProject.Text;
Console.WriteLine(string.Format("Project Select #1 {0}:{1}",idx,tbProject.Text));
Console.WriteLine(string.Format("Project Select #1 {0}:{1}", idx, tbProject.Text));
}
else
{
@@ -137,13 +137,29 @@ namespace FPJ0000.JobReport
if (dr.RowState == DataRowState.Detached || dr.RowState == DataRowState.Added) chkAutoAdd.Enabled = true;
else chkAutoAdd.Enabled = false;
if (string.IsNullOrEmpty(dr.description2))
{
this.richTextBoxEx1.Text = dr.description;
}
else
{
try
{
this.richTextBoxEx1.Rtf = dr.description2;
}
catch (Exception ex)
{
this.richTextBoxEx1.Text = dr.description;
}
}
this.Show();
Application.DoEvents();
if(tbDescription.Text.Trim() != "")
if (this.richTextBoxEx1.Text.Trim() != "")
{
tbDescription.Focus();
tbDescription.SelectAll();
this.richTextBoxEx1.Focus();
}
else
{
@@ -151,9 +167,23 @@ namespace FPJ0000.JobReport
tbProject.SelectAll();
}
tbProject.Tag = tbProject.Text;
// if (string.IsNullOrEmpty(richTextBox1.Text)) richTextBox1.Text = dr.description;
//editor
// ed = new editform.editor();
//ed.AllowDiscAccess = true;
//ed.WindowTitle = "Quick Edit";
//ed.StartingFont = new Font("Courier New", 12.0f, FontStyle.Regular);
//ed.DisplayEditForm(this.panel1);
//ed.AllowRtf = true;
bInit = true;
}
// editform.editor ed;
void ctl_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
@@ -249,16 +279,16 @@ namespace FPJ0000.JobReport
private void button1_Click(object sender, EventArgs e)
{
this.Invalidate();
if(tbProject.Text.Trim() == "")
if (tbProject.Text.Trim() == "")
{
FCOMMON.Util.MsgE("프로젝트(아이템) 명칭이 없습니다.");
tbProject.Focus();
tbProject.Focus();
return;
}
if (cmbType.Text != "휴가" && tbDescription.Text.Trim() == "")
if (cmbType.Text != "휴가" && string.IsNullOrEmpty( this.richTextBoxEx1.Text )==true)
{
FCOMMON.Util.MsgE("진행 내용이 없습니다.");
tbDescription.Focus();
this.richTextBoxEx1.Focus();
return;
}
float hour = Single.Parse(tbHrs.Text) + Single.Parse(tbOt.Text);
@@ -289,11 +319,11 @@ namespace FPJ0000.JobReport
return;
}
if(tbProject.Tag.ToString() != tbProject.Text && tbProjectIndex.Text != "" && tbProjectIndex.Text != "-1")
if (tbProject.Tag.ToString() != tbProject.Text && tbProjectIndex.Text != "" && tbProjectIndex.Text != "-1")
{
FCOMMON.Util.MsgE("프로젝트가 선택되었으나 이름이 임의 수정되어 프로젝트 연결을 해제 합니다\n\n" +
"잘못된 프로젝트명은 프로젝트 관리화면에서 변경하시기 바랍니다.\n\n"+
"원본 : " + tbProject.Tag.ToString() + "\n" +
"잘못된 프로젝트명은 프로젝트 관리화면에서 변경하시기 바랍니다.\n\n" +
"원본 : " + tbProject.Tag.ToString() + "\n" +
"현재 : " + tbProject.Text);
tbProjectIndex.Text = "-1";
}
@@ -315,9 +345,9 @@ namespace FPJ0000.JobReport
}
}
if(chkAutoAdd.Checked && (dr.RowState == DataRowState.Detached || dr.RowState == DataRowState.Added))
if (chkAutoAdd.Checked && (dr.RowState == DataRowState.Detached || dr.RowState == DataRowState.Added))
{
if(tbProjectIndex.Text == "" || tbProjectIndex.Text == "-1")
if (tbProjectIndex.Text == "" || tbProjectIndex.Text == "-1")
{
FCOMMON.Util.MsgE("프로젝트 주간내역을 등록하려면 프로젝트가 지정되어야 합니다");
tbProject.Focus();
@@ -327,7 +357,7 @@ namespace FPJ0000.JobReport
else
{
//190906
FCOMMON.DBM.addProjectHistory(int.Parse(tbProjectIndex.Text), dtPdate.Value.ToShortDateString(), tbDescription.Text.Trim());
FCOMMON.DBM.addProjectHistory(int.Parse(tbProjectIndex.Text), dtPdate.Value.ToShortDateString(), this.richTextBoxEx1.Text, this.richTextBoxEx1.Rtf);
}
}
@@ -345,7 +375,11 @@ namespace FPJ0000.JobReport
else this.dr.hrs = 0;
if (tbOt.Text != "") this.dr.ot = double.Parse(tbOt.Text);
else this.dr.ot = 0;
this.dr.description = tbDescription.Text.Trim();
//this.dr.description = richTextBox1.Text.Trim();
//MessageBox.Show(richTextBox1.Text);
this.dr.description = richTextBoxEx1.Text;
this.dr.description2 = richTextBoxEx1.Rtf; // ef.DocumentText;// richTextBox1.Rtf;
this.bs.EndEdit();
DialogResult = System.Windows.Forms.DialogResult.OK;
}
@@ -391,7 +425,7 @@ namespace FPJ0000.JobReport
if (hrs != 0)
{
FCOMMON.Util.MsgI("공휴일에는 근무시간을 입력할 수 없습니다.\n초과시간에 입력하세요.\n\n해당 값은 삭제 됩니다.");
dr.hrs = 0;
dr.hrs = 0;
tbHrs.Text = "0";
if (hrs != 8) tbOt.Text = hrs.ToString();
tbOt.Focus();

View File

@@ -1,159 +1,171 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="hrsLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="typeLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label1.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label2.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="projectLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label4.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="stateLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label5.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>100, 17</value>
</metadata>
<metadata name="dsPRJ.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>299, 17</value>
</metadata>
<metadata name="ta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>164, 17</value>
</metadata>
<metadata name="tam.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>226, 17</value>
</metadata>
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="hrsLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="typeLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label1.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="projectLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label4.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="stateLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label5.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label3.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label6.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>100, 17</value>
</metadata>
<metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>100, 17</value>
</metadata>
<metadata name="dsPRJ.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="dsPRJ.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>299, 17</value>
</metadata>
<metadata name="ta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>164, 17</value>
</metadata>
<metadata name="tam.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>226, 17</value>
</metadata>
<metadata name="label2.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
</root>