updaet 20241101
This commit is contained in:
@@ -4,6 +4,8 @@ using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Runtime.DesignerServices;
|
||||
using System.Security.RightsManagement;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
@@ -14,7 +16,9 @@ using Syncfusion.Windows.Forms.Tools;
|
||||
using Syncfusion.WinForms.Controls;
|
||||
using Syncfusion.WinForms.DataGrid;
|
||||
using Syncfusion.WinForms.DataGrid.Interactivity;
|
||||
using Windows.Devices.HumanInterfaceDevice;
|
||||
using Windows.Media.Ocr;
|
||||
using Windows.UI.Xaml.Controls;
|
||||
|
||||
namespace OnDoc.DocMgmt
|
||||
{
|
||||
@@ -25,6 +29,9 @@ namespace OnDoc.DocMgmt
|
||||
DataTable UsedFelder = new DataTable();
|
||||
int dokumenttypnr = 0;
|
||||
serienbrief sb = new serienbrief();
|
||||
private Microsoft.Office.Interop.Word.Application word;
|
||||
private Microsoft.Office.Interop.Word.Document doc;
|
||||
|
||||
public SerienbriefBearbeitung()
|
||||
{
|
||||
InitializeComponent();
|
||||
@@ -40,10 +47,60 @@ namespace OnDoc.DocMgmt
|
||||
this.sb = sb;
|
||||
}
|
||||
|
||||
private DataTable get_idvwerte()
|
||||
{
|
||||
int i;
|
||||
var dt = new DataTable();
|
||||
dt.Columns.Add("Feldname");
|
||||
dt.Columns.Add("Wert");
|
||||
var loopTo = sb.dsempfaenger.Tables[0].Columns.Count - 1;
|
||||
for (i = 0; i <= loopTo; i++)
|
||||
{
|
||||
switch (sb.dsempfaenger.Tables[0].Columns[i].Caption.ToUpper())
|
||||
{
|
||||
case "PARTNERNR":
|
||||
case "KURZBEZEICHNUNG":
|
||||
case "ANREDE":
|
||||
case "NAME":
|
||||
case "VORNAME":
|
||||
case "STRASSE":
|
||||
case "PLZ":
|
||||
case "ORT":
|
||||
case "ZUSTELLADRESSE":
|
||||
case "BRIEFANREDE1":
|
||||
case "BRIEFANREDE2":
|
||||
case "STATUS":
|
||||
case "FEHLERCD":
|
||||
case "BLKUNDE":
|
||||
case "DOKUMENT_GEDRUCKT":
|
||||
case "AKTIV":
|
||||
case "DOKUMENTID":
|
||||
case "DOKUMENTIDBDR":
|
||||
case "ERSTELLER":
|
||||
case "FEHLERCODE":
|
||||
case "DRUCKJOBID":
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
{
|
||||
System.Data.DataRow myRow;
|
||||
myRow = dt.NewRow();
|
||||
myRow[0] = sb.dsempfaenger.Tables[0].Columns[i].Caption.ToString();
|
||||
myRow[1] = "";
|
||||
dt.Rows.Add(myRow);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return dt;
|
||||
}
|
||||
private void SerienbriefBearbeitung_Load(object sender, EventArgs e)
|
||||
{
|
||||
StdFelder = get_vorlagenfelder(sb.dokumenttypnr, 0);
|
||||
|
||||
this.TopMost = true;
|
||||
|
||||
foreach (System.Data.DataRow dr in StdFelder.Rows)
|
||||
{
|
||||
dr[1] = dr[1].ToString().Replace(System.Environment.NewLine, " ");
|
||||
@@ -51,37 +108,50 @@ namespace OnDoc.DocMgmt
|
||||
StdFelder.AcceptChanges();
|
||||
sfdatagridstandard.RowHeight = 17;
|
||||
sfdatagridstandard.DataSource = StdFelder;
|
||||
|
||||
|
||||
IDVFelder = get_vorlagenfelder(sb.dokumenttypnr, 1);
|
||||
foreach (System.Data.DataRow dr in IDVFelder.Rows)
|
||||
|
||||
IDVFelder = get_idvwerte();
|
||||
//foreach (System.Data.DataRow dr in IDVFelder.Rows)
|
||||
//{
|
||||
// dr[1] = dr[1].ToString().Replace(System.Environment.NewLine, " ");
|
||||
//}
|
||||
//IDVFelder.AcceptChanges();
|
||||
sfdatagridDokspezifisch.DataSource = IDVFelder;
|
||||
sfdatagridDokspezifisch.RowHeight = 17;
|
||||
|
||||
init_used_felder(true);
|
||||
foreach (System.Data.DataRow dr in UsedFelder.Rows)
|
||||
{
|
||||
dr[1] = dr[1].ToString().Replace(System.Environment.NewLine, " ");
|
||||
}
|
||||
IDVFelder.AcceptChanges();
|
||||
sfdatagridDokspezifisch.DataSource = IDVFelder;
|
||||
sfdatagridDokspezifisch.RowHeight= 17;
|
||||
init_used_felder();
|
||||
sfdatagridUsed.RowHeight = 17;
|
||||
sfdatagridUsed.DataSource = UsedFelder;
|
||||
|
||||
}
|
||||
private DataTable get_vorlagenfelder(int dokumenttypnr, int type) {
|
||||
private DataTable get_vorlagenfelder(int dokumenttypnr, int type)
|
||||
{
|
||||
Database.DB db = new Database.DB(AppParams.connectionstring);
|
||||
db.clear_parameter();
|
||||
db.add_parameter("@dokumenttypnr", sb.dokumenttypnr.ToString());
|
||||
db.add_parameter("@type", type.ToString());
|
||||
db.Get_Tabledata("sp_edex_sb_get_standardvorlagenfelder",true,false);
|
||||
db.Get_Tabledata("sp_edex_sb_get_standardvorlagenfelder", true, false);
|
||||
return db.dsdaten.Tables[0];
|
||||
}
|
||||
|
||||
private Microsoft.Office.Interop.Word.Application word;
|
||||
private Microsoft.Office.Interop.Word.Document doc;
|
||||
public void load_document()
|
||||
public void unload_document()
|
||||
{
|
||||
doc.Close(SaveChanges: false);
|
||||
doc = null;
|
||||
word.Quit(SaveChanges: false);
|
||||
}
|
||||
|
||||
public void load_document(Boolean word_visible )
|
||||
{
|
||||
word = new Microsoft.Office.Interop.Word.Application();
|
||||
doc = new Microsoft.Office.Interop.Word.Document();
|
||||
word.Documents.Open(sb.filename);
|
||||
doc = word.ActiveDocument;
|
||||
word.Visible= true;
|
||||
word.Visible = word_visible;
|
||||
word.WindowState = Microsoft.Office.Interop.Word.WdWindowState.wdWindowStateMaximize;
|
||||
}
|
||||
|
||||
@@ -143,17 +213,84 @@ namespace OnDoc.DocMgmt
|
||||
row.Delete();
|
||||
}
|
||||
list.AcceptChanges();
|
||||
sfdatagridUsed.DataSource= list;
|
||||
}
|
||||
public DataTable init_used_felder()
|
||||
|
||||
{
|
||||
load_document();
|
||||
public DataTable init_used_felder(Boolean word_visible)
|
||||
|
||||
{
|
||||
load_document(word_visible);
|
||||
get_usedfelder(ref UsedFelder);
|
||||
return null;
|
||||
if (word_visible==false) { unload_document(); }
|
||||
return UsedFelder;
|
||||
}
|
||||
public bool grid_empty(ref SfDataGrid grid)
|
||||
{
|
||||
if (grid.RowCount > 0) { return false; } else return true;
|
||||
}
|
||||
private bool Row_Selected(ref SfDataGrid grid)
|
||||
{
|
||||
if (grid_empty(ref grid) == true) { return false; }
|
||||
var records = grid.View.GetSelectedRecords();
|
||||
if (records.Count < 1) { return false; }
|
||||
return true;
|
||||
}
|
||||
|
||||
public void cursor_positionieren(ref SfDataGrid grid)
|
||||
{
|
||||
if (!Row_Selected(ref grid)) { return; }
|
||||
var records = grid.View.GetSelectedRecords();
|
||||
foreach (var record in records)
|
||||
{
|
||||
var data = record as DataRowView;
|
||||
|
||||
if (data["Feldname"].ToString() != "")
|
||||
{
|
||||
word.Selection.GoTo(What: Microsoft.Office.Interop.Word.WdGoToItem.wdGoToField, Name: data["Feldname"].ToString());
|
||||
}
|
||||
if (data["beginntextmarke"].ToString() != "")
|
||||
{
|
||||
word.Selection.GoTo(What: Microsoft.Office.Interop.Word.WdGoToItem.wdGoToBookmark, Name: data["beginntextmarke"].ToString());
|
||||
}
|
||||
if (data["endetextmarke"].ToString() != "")
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void insert_tm(ref SfDataGrid grid)
|
||||
{
|
||||
if (!Row_Selected(ref grid)) { return; }
|
||||
var records = grid.View.GetSelectedRecords();
|
||||
foreach (var record in records)
|
||||
{
|
||||
var data = record as DataRowView;
|
||||
|
||||
if (data["Feldname"].ToString() != "")
|
||||
{
|
||||
word.Selection.FormFields.Add(Range: word.Selection.Range, Type: Microsoft.Office.Interop.Word.WdFieldType.wdFieldFormTextInput);
|
||||
word.Selection.PreviousField().Select();
|
||||
word.Selection.FormFields[1].Name = data["Feldname"].ToString();
|
||||
|
||||
}
|
||||
if (data["beginntextmarke"].ToString() != "")
|
||||
{
|
||||
word.Selection.Bookmarks.Add(data["beginntextmarke"].ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
public void cursorImDokumentPositionierenToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
cursor_positionieren(ref sfdatagridUsed);
|
||||
}
|
||||
|
||||
private void platzhalterImDokumentEinfügenToolStripMenuItem1_Click(object sender, EventArgs e)
|
||||
{
|
||||
insert_tm(ref sfdatagridDokspezifisch);
|
||||
}
|
||||
|
||||
private void platzhalterImDokumentEinfügenToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
insert_tm(ref sfdatagridstandard);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user