Files
SISBusiness/SISBusiness.Module.Win/BusinessObjects/Business/BusinessTransactions/Estate/CRM/InsertGridToRTF_VC.vb
T
2017-03-26 20:00:03 +02:00

448 lines
27 KiB
VB.net

Imports System
Imports System.IO
Imports System.ComponentModel
Imports System.Collections.Generic
Imports System.Diagnostics
Imports System.Text
Imports DevExpress.ExpressApp
Imports DevExpress.ExpressApp.Actions
Imports DevExpress.Persistent.Base
Imports DevExpress.XtraGrid.Views.Grid
Imports DevExpress.ExpressApp.Win.Editors
Imports DevExpress.Xpo
Imports DevExpress.XtraGrid.Columns
Imports DevExpress.XtraEditors.Controls
Imports DevExpress.XtraEditors.Repository
Imports DevExpress.Data
Imports DevExpress.ExpressApp.Editors
Imports DevExpress.Data.Filtering
Public Class InsertGridToRTF_VC
Inherits DevExpress.ExpressApp.ViewController
Dim _RichEditControl As RichEditControl
Public Sub New()
MyBase.New()
InitializeComponent()
RegisterActions(components)
End Sub
Protected Overrides Sub OnViewControlsCreated()
MyBase.OnViewControlsCreated()
If View.Id = "CRMEstate_Leads_DetailView" Then
'_RichEditControl = TryCast(View, DetailView).GetItems(Of RichEditPropertyEditor)(0).RichEditUserControl.RichEditControl
End If
End Sub
Private Sub aInsertGridToRTF_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aInsertGridToRTF.Execute
Dim _DetailView As DetailView = CType(View, DetailView)
Dim _CRMEstate_Leads As CRMEstate_Leads = TryCast(e.CurrentObject, CRMEstate_Leads)
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _ImmovablesGroupsParameters As ImmovablesGroupsParameters = _ocur.FindObject(Of ImmovablesGroupsParameters)(CriteriaOperator.Parse("ImmovablesGroups=?", _CRMEstate_Leads.ImmovablesPriceListHeader.ImmovablesGroups))
If _CRMEstate_Leads.DocumentBody Is Nothing Then
_CRMEstate_Leads.DocumentBody = _ImmovablesGroupsParameters.DocumentBody
If _CRMEstate_Leads.DocumentBody Is Nothing Then
_CRMEstate_Leads.DocumentBody = "{\rtf1\deff0{\fonttbl{\f0 Times New Roman;}}" & _
"{\colortbl\red0\green0\blue0 ;\red0\green0\blue255 ;}{\*\listoverridetable}{\stylesheet {\ql\cf0 Normal;}" & _
"{\*\cs1\cf0 Default Paragraph Font;}{\*\cs2\sbasedon1\cf0 Line Number;}{\*\cs3\ul\cf1 Hyperlink;}}\sectd\pard\plain" & _
"\ql\f1\par\pard\plain\ql\f1\par\pard\plain\ql\f1\par\pard\plain\ql{\f2\fs18\cf0 imapartmentsim}\f2\fs18\cf2\par" & _
"\pard\plain\ql\f2\fs18\cf0\par\pard\plain\ql{\f2\fs18\cf0 imgaragesim}\f2\fs18\cf0\par\pard\plain\ql\f2\fs18\cf0\par" & _
"\pard\plain\ql{\f2\fs18\cf0 imofficesim}\f2\fs18\cf0\par\pard\plain\ql\f2\fs18\cf0\par\pard\plain\ql{\f2\fs18\cf0 imcontainerim}" & _
"\f2\fs18\cf0\par\pard\plain\ql\f1\par}"
End If
End If
_CRMEstate_Leads.DocumentBody = _CRMEstate_Leads.DocumentBody.Replace("{\cf0 im}{\cf0 apartments}{\cf0 im}", "{\cf0 imapartmentsim}")
_CRMEstate_Leads.DocumentBody = _CRMEstate_Leads.DocumentBody.Replace("{\cf0 im}{\cf0 garages}{\cf0 im}", "{\cf0 imgaragesim}")
_CRMEstate_Leads.DocumentBody = _CRMEstate_Leads.DocumentBody.Replace("{\cf0 im}{\cf0 offices}{\cf0 im}", "{\cf0 imofficesim}")
_CRMEstate_Leads.DocumentBody = _CRMEstate_Leads.DocumentBody.Replace("{\cf0 im}{\cf0 container}{\cf0 im}", "{\cf0 imcontainerim}")
'=========================== ColorTable =======================================
Dim _actColorNum As Int32 = 0
Dim _OrigColorTable As String
Dim _ColorTable As String = (_CRMEstate_Leads.DocumentBody.Remove(0, (InStr(_CRMEstate_Leads.DocumentBody, "{\colortbl")) + "{\colortbl".Length - 1))
_ColorTable = _ColorTable.Remove(InStr(_ColorTable, "}") - 1) '--Act Color table
Dim _ColorArray As String() = _ColorTable.Split(New [Char]() {";"c})
Dim _CTable As New StringBuilder()
_CTable.Append("{\colortbl")
For _ik As Int32 = 0 To _ColorArray.Length - 2
_CTable.Append(_ColorArray(_ik) & ";")
Next
_CTable.Append("\red240\green240\blue240 ;}")
_OrigColorTable = "{\colortbl" & _ColorTable & "}"
_CRMEstate_Leads.DocumentBody = _CRMEstate_Leads.DocumentBody.Replace(_OrigColorTable, _CTable.ToString())
_CRMEstate_Leads.DocumentBody = _CRMEstate_Leads.DocumentBody.Replace("improjectim", _CRMEstate_Leads.ImmovablesPriceListHeader.ImmovablesGroups.ShortName)
_CRMEstate_Leads.DocumentBody = _CRMEstate_Leads.DocumentBody.Replace("imlastnameim", _CRMEstate_Leads.LastName)
_CRMEstate_Leads.DocumentBody = _CRMEstate_Leads.DocumentBody.Replace("imfirstnameim", _CRMEstate_Leads.FirstName)
'=================================================================================
'=========================== Apartments =======================================
Dim _CRMEstate_Leads_Immovables_Apartments As ListPropertyEditor
_CRMEstate_Leads_Immovables_Apartments = TryCast(View, DetailView).FindItem("Selected_Apartments")
If _CRMEstate_Leads_Immovables_Apartments.ListView IsNot Nothing Then
Dim _ListView_Apartments As ListView = CType(_CRMEstate_Leads_Immovables_Apartments.ListView, ListView)
Dim _GridListEditor_Apartments As GridListEditor = TryCast(_ListView_Apartments.Editor, GridListEditor)
Dim _Grid_Apartments As GridView = TryCast(_GridListEditor_Apartments.GridView, GridView)
If _Grid_Apartments IsNot Nothing Then
_CRMEstate_Leads.DocumentBody = RTFTableCreator(_Grid_Apartments, "imapartmentsim", _CRMEstate_Leads.DocumentBody)
End If
End If
'=================================================================================
'=========================== Offices ==========================================
Dim _CRMEstate_Leads_Immovables_Offices As ListPropertyEditor
_CRMEstate_Leads_Immovables_Offices = TryCast(View, DetailView).FindItem("Selected_Offices")
If _CRMEstate_Leads_Immovables_Offices.ListView IsNot Nothing Then
Dim _ListView_Offices As ListView = CType(_CRMEstate_Leads_Immovables_Offices.ListView, ListView)
Dim _GridListEditor_Offices As GridListEditor = TryCast(_ListView_Offices.Editor, GridListEditor)
Dim _Grid_Offices As GridView = TryCast(_GridListEditor_Offices.GridView, GridView)
If _Grid_Offices IsNot Nothing Then
_CRMEstate_Leads.DocumentBody = RTFTableCreator(_Grid_Offices, "imofficesim", _CRMEstate_Leads.DocumentBody)
End If
End If
'=================================================================================
'=========================== Garages ==========================================
Dim _CRMEstate_Leads_Immovables_Garages As ListPropertyEditor
_CRMEstate_Leads_Immovables_Garages = TryCast(View, DetailView).FindItem("Selected_Garages")
If _CRMEstate_Leads_Immovables_Garages.ListView IsNot Nothing Then
Dim _ListView_Garages As ListView = CType(_CRMEstate_Leads_Immovables_Garages.ListView, ListView)
Dim _GridListEditor_Garages As GridListEditor = TryCast(_ListView_Garages.Editor, GridListEditor)
Dim _Grid_Garages As GridView = TryCast(_GridListEditor_Garages.GridView, GridView)
If _Grid_Garages IsNot Nothing Then
_CRMEstate_Leads.DocumentBody = RTFTableCreator(_Grid_Garages, "imgaragesim", _CRMEstate_Leads.DocumentBody)
End If
End If
'=================================================================================
'=========================== Container ==========================================
Dim _CRMEstate_Leads_Immovables_Container As ListPropertyEditor
_CRMEstate_Leads_Immovables_Container = TryCast(View, DetailView).FindItem("Selected_Container")
If _CRMEstate_Leads_Immovables_Container.ListView IsNot Nothing Then
Dim _ListView_Container As ListView = CType(_CRMEstate_Leads_Immovables_Container.ListView, ListView)
Dim _GridListEditor_Container As GridListEditor = TryCast(_ListView_Container.Editor, GridListEditor)
Dim _Grid_Container As GridView = TryCast(_GridListEditor_Container.GridView, GridView)
If _Grid_Container IsNot Nothing Then
_CRMEstate_Leads.DocumentBody = RTFTableCreator(_Grid_Container, "imcontainerim", _CRMEstate_Leads.DocumentBody)
End If
End If
'=================================================================================
End Sub
Private Sub aInsertGridToRTFCurrentPos_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aInsertGridToRTFCurrentPos.Execute
'Dim _DetailView As DetailView = CType(View, DetailView)
Dim _CRMEstate_Leads As CRMEstate_Leads = TryCast(e.CurrentObject, CRMEstate_Leads)
Dim _CRMEstate_Leads_Immovables As ListPropertyEditor
_CRMEstate_Leads_Immovables = TryCast(View, DetailView).FindItem("CRMEstate_Leads_Immovables")
Dim _ListView As ListView = CType(_CRMEstate_Leads_Immovables.ListView, ListView)
Dim _GridListEditor As GridListEditor = TryCast(_ListView.Editor, GridListEditor)
Dim _Grid As GridView = TryCast(_GridListEditor.GridView, GridView)
_RichEditControl.Document.InsertText(_RichEditControl.Document.CaretPosition, "LilaLiba")
Dim _RTFTable As String = RTFTableCreatorCurrentPos(_Grid)
Dim _DocumentBody_NEW As String = _CRMEstate_Leads.DocumentBody
_DocumentBody_NEW = _CRMEstate_Leads.DocumentBody.Replace("LilaLiba", _RTFTable)
_CRMEstate_Leads.DocumentBody = ""
_CRMEstate_Leads.DocumentBody = _DocumentBody_NEW
' _RichEditControl.Document.InsertRtfText(_DocumentPosition, RTFTableCreatorCurrentPos(_Grid))
'_RichEditControl.Document.CaretPosition = _RichEditControl.Document.Range.End
End Sub
Private Function RTFTableCreatorCurrentPos(_Grid As GridView) ', _DocumentBody As String) As String
Dim _RTFtext As New StringBuilder
Dim _RowNum As Integer = _Grid.RowCount
Dim _ColumnsNum As Integer = _Grid.Columns.Count
Dim irowIndex As Integer = 0
'--Fejléc kiírása RTFként--
_RTFtext.Append("\par\pard\plain\ql\par\trowd\irow" & irowIndex & "\irowband" & irowIndex & "\trbrdrt\brdrs\brdrw10\trbrdrl\brdrs\brdrw10" & _
"\trbrdrb\brdrs\brdrw10\trbrdrr\brdrs\brdrw10\trleft-108\trautofit1\trpaddfl3\trpaddl108\trpaddfr3\trpaddr108")
For _ik As Integer = 0 To _ColumnsNum - 1
If _Grid.Columns(_ik).Visible = True Then
_RTFtext.Append("\clvertalt\clcbpat2\clbrdrt\brdrs\brdrw10\clbrdrl\brdrs\brdrw10\clbrdrb\brdrs\brdrw10\clbrdrr\brdrs\brdrw10" &
"\cltxlrtb\clftsWidth3\clwWidth3302\clpadfr3\clpadr108\clpadft3\clpadt108\cellx" & _ik)
End If
Next
For _ik As Integer = 0 To _ColumnsNum - 1
If _Grid.Columns(_ik).Visible = True Then
_RTFtext.Append("\pard\plain\ql\intbl{\b\cf0" & _Grid.Columns(_ik).Caption & "}\b\cell")
End If
Next
_RTFtext.Append("\trowd\irow" & irowIndex & "\irowband" & irowIndex & "\trbrdrt\brdrs\brdrw10\trbrdrl\brdrs\brdrw10" & _
"\trbrdrb\brdrs\brdrw10\trbrdrr\brdrs\brdrw10\trleft-108\trautofit1\trpaddfl3\trpaddl108\trpaddfr3\trpaddr108")
For _ik As Integer = 0 To _ColumnsNum - 1
If _Grid.Columns(_ik).Visible = True Then
_RTFtext.Append("\clvertalt\clcbpat2\clbrdrt\brdrs\brdrw10\clbrdrl\brdrs\brdrw10\clbrdrb\brdrs\brdrw10\clbrdrr\brdrs\brdrw10" &
"\cltxlrtb\clftsWidth3\clwWidth3302\clpadfr3\clpadr108\clpadft3\clpadt108\cellx" & _ik)
End If
Next
irowIndex += 1
'' --Adatsorok kiírása RTFként--
For _ik As Integer = 0 To _RowNum - 2
_RTFtext.Append("\row")
For _jk As Integer = 0 To _ColumnsNum - 2
If _Grid.Columns(_jk).Visible = True Then
_RTFtext.Append("\pard\plain\ql\intbl{\cf0" & (_Grid.GetRowCellValue(_ik, _Grid.Columns(_jk)).ToString()) & "}\cell")
End If
Next
_RTFtext.Append("\trowd\irow" & irowIndex & "\irowband" & irowIndex & "\trbrdrt\brdrs\brdrw10\trbrdrl\brdrs\brdrw10\trbrdrb\brdrs\brdrw10\trbrdrr\brdrs\brdrw10" & _
"\trleft-108\trautofit1\trpaddfl3\trpaddl108\trpaddfr3\trpaddr108")
For _jk As Integer = 0 To _ColumnsNum - 1
If _Grid.Columns(_jk).Visible = True Then
_RTFtext.Append("\clvertalt\clbrdrt\brdrs\brdrw10\clbrdrl\brdrs\brdrw10\clbrdrb\brdrs\brdrw10\clbrdrr\brdrs\brdrw10\cltxlrtb\clftsWidth3\clwWidth3302" & _
"\clpadfr3\clpadr108\clpadft3\clpadt108\cellx" & _jk)
End If
Next
irowIndex += 1
Next
''--Utolsó sor --
_RTFtext.Append("\row")
For _jk As Integer = 0 To _ColumnsNum - 2
If _Grid.Columns(_jk).Visible = True Then
_RTFtext.Append("\pard\plain\ql\intbl{\cf0" & (_Grid.GetRowCellValue(_RowNum - 1, _Grid.Columns(_jk)).ToString()) & "}\cell")
End If
Next
_RTFtext.Append("\trowd\irow" & irowIndex & "\irowband" & irowIndex & "\lastrow\trbrdrt\brdrs\brdrw10\trbrdrl\brdrs\brdrw10\trbrdrb\brdrs\brdrw10\trbrdrr\brdrs\brdrw10" & _
"\trleft-108\trautofit1\trpaddfl3\trpaddl108\trpaddfr3\trpaddr108")
For _jk As Integer = 0 To _ColumnsNum - 1
If _Grid.Columns(_jk).Visible = True Then
_RTFtext.Append("\clvertalt\clbrdrt\brdrs\brdrw10\clbrdrl\brdrs\brdrw10\clbrdrb\brdrs\brdrw10\clbrdrr\brdrs\brdrw10\cltxlrtb\clftsWidth3\clwWidth3302" & _
"\clpadfr3\clpadr108\clpadft3\clpadt108\cellx" & _jk)
End If
Next
_RTFtext.Append("\row\pard\plain\ql\par")
'_DocumentBody_NEW = _DocumentBody.Replace(_Tag, _RTFtext.ToString())
'_DocumentBody_NEW = _DocumentBody_NEW.Replace("{\colortbl\red0\green0\blue0 ;\red0\green0\blue255 ;}", "{\colortbl\red0\green0\blue0 ;\red0\green0\blue255 ;\red192\green192\blue192 ;}")
Return _RTFtext.ToString()
End Function
Private Sub aRestoreDocumentTemplate_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aRestoreDocumentTemplate.Execute
Try
Dim _ocur As Xpo.XPObjectSpace = View.ObjectSpace
Dim _CRMEstate_Leads As CRMEstate_Leads = TryCast(View.SelectedObjects(0), CRMEstate_Leads)
If _CRMEstate_Leads Is Nothing Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
Dim _ImmovablesGroupsParameters As ImmovablesGroupsParameters = _ocur.FindObject(Of ImmovablesGroupsParameters)(CriteriaOperator.Parse("ImmovablesGroups=?", _
_CRMEstate_Leads.ImmovablesPriceListHeader.ImmovablesGroups))
If _ImmovablesGroupsParameters Is Nothing Then Throw New Exception("*Nincs beállítva ingatlancsoport paraméter!")
_CRMEstate_Leads.DocumentBody = _ImmovablesGroupsParameters.DocumentBody
_ocur.CommitChanges()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly)
End Try
End Sub
'-------------------Functions----------------------
Function RTFTableCreator(_Grid As GridView, _Tag As String, _DocumentBody As String, Optional _FontSize As String = "8", _
Optional _FontType As String = "Tahoma", Optional _RGB As String = "240,240,240") As String
Dim _DocumentBody_NEW As String
Dim _HeaderFillColor As Int32 ' -- Current table header fill color index in colot table
If _RGB <> "240,240,240" Then
Dim _Parameters As String() = ColorTablereplacement(_DocumentBody, _RGB)
_HeaderFillColor = Convert.ToInt32(_Parameters(0))
_DocumentBody = _Parameters(1)
Else
'Dim _ColorTable As String = (_DocumentBody.Remove(0, (InStr(_DocumentBody, "{\colortbl")) + "{\colortbl".Length - 1))
'_ColorTable = _ColorTable.Remove(InStr(_ColorTable, "}") - 1) '--Act Color table
'Dim _ColorArray As String() = _ColorTable.Split(New [Char]() {";"c})
'For _ik = 0 To _ColorArray.Length - 1
' If _ColorArray(_ik) = "\red240\green240\blue240 " Then
' _HeaderFillColor = _ik
' Exit For
' End If
'Next
_HeaderFillColor = 2
End If
If _Grid.DataRowCount > 0 Then
Dim _FontSizeNUM As Int32 = (Convert.ToInt32(_FontSize) * 2) ' -- Font size in half-points (the default is 16). => Size 8!!!
Dim _RTFtext As New StringBuilder
Dim _RowNumFull As Integer = _Grid.RowCount
Dim _RowNum As Integer = _Grid.DataRowCount
Dim _ColumnsNum As Integer = _Grid.Columns.Count
Dim irowIndex As Int32 = 0
Dim _LastCellIndex As Int32 = 0
'--Header to RTF format--
'=================================================================================
_RTFtext.Append("\pard\plain\ql\par\trowd\irow" & irowIndex & "\irowband" & irowIndex & "\trbrdrt\brdrs\brdrw10\trbrdrl\brdrs\brdrw10" & _
"\trbrdrb\brdrs\brdrw10\trbrdrr\brdrs\brdrw10\trleft-108\trautofit1\trpaddfl3\trpaddl108\trpaddfr3\trpaddr108")
For _ik As Integer = 0 To _Grid.Columns.View.VisibleColumns.Count - 1
_RTFtext.Append("\clvertalt\clcbpat2\clbrdrt\brdrs\brdrw10\clbrdrl\brdrs\brdrw10\clbrdrb\brdrs\brdrw10\clbrdrr\brdrs\brdrw10" &
"\cltxlrtb\clftsWidth3\clwWidth3302\clpadfr3\clpadr108\clpadft3\clpadt108\cellx" & _ik)
If _LastCellIndex < _ik Then
_LastCellIndex = _ik
End If
Next
For _ik As Integer = 0 To _Grid.Columns.View.VisibleColumns.Count - 1
_RTFtext.Append("\pard\plain\ql\intbl{\b\fs" & _FontSizeNUM & "\cf0 " & _Grid.Columns.View.VisibleColumns(_ik).Caption & "}\b\cell")
Next
_RTFtext.Append("\trowd\irow" & irowIndex & "\irowband" & irowIndex & "\trbrdrt\brdrs\brdrw10\trbrdrl\brdrs\brdrw10" & _
"\trbrdrb\brdrs\brdrw10\trbrdrr\brdrs\brdrw10\trleft-108\trautofit1\trpaddfl3\trpaddl108\trpaddfr3\trpaddr108")
For _ik As Integer = 0 To _Grid.Columns.View.VisibleColumns.Count - 1
_RTFtext.Append("\clvertalt\clcbpat" & _HeaderFillColor & "\clbrdrt\brdrs\brdrw10\clbrdrl\brdrs\brdrw10\clbrdrb\brdrs\brdrw10\clbrdrr\brdrs\brdrw10" &
"\cltxlrtb\clftsWidth3\clwWidth3302\clpadfr3\clpadr108\clpadft3\clpadt108\cellx" & _ik)
Next
irowIndex += 1
'' --Data to RTF format--
'=================================================================================
For _ik As Int16 = 0 To _RowNumFull - 2
If _Grid.IsGroupRow(_Grid.Columns.View.GetVisibleRowHandle(_ik)) = True Then
_RTFtext.Append("\row")
_RTFtext.Append("\pard\plain\ql\intbl{\fs" & _FontSizeNUM & "\cf0 " & (_Grid.GetGroupRowDisplayText(_Grid.Columns.View.GetVisibleRowHandle(_ik)).ToString) & "}\cell")
_RTFtext.Append("\trowd\irow" & irowIndex & "\irowband" & irowIndex & "\trbrdrt\brdrs\brdrw10\trbrdrl\brdrs\brdrw10\trbrdrb\brdrs\brdrw10\trbrdrr\brdrs\brdrw10" & _
"\trleft-108\trftsWidth1\trautofit1\trpaddfl3\trpaddl108\trpaddfr3\trpaddr108\tblindtype3\tblind0")
_RTFtext.Append("\clvertalt\clbrdrt\brdrs\brdrw10\clbrdrl\brdrs\brdrw10\clbrdrb\brdrs\brdrw10\clbrdrr\brdrs\brdrw10\cltxlrtb\clftsWidth3\clwWidth9619" & _
"\clpadfr3\clpadr108\clpadft3\clpadt108\cellx" & _LastCellIndex)
irowIndex += 1
Else
_RTFtext.Append("\row")
For _jk As Integer = 0 To _Grid.Columns.View.VisibleColumns.Count - 1
If _Grid.Columns.View.VisibleColumns(_jk).ColumnType.FullName <> "System.Double" And _Grid.Columns.View.VisibleColumns(_jk).ColumnType.FullName <> "System.Boolean" Then
_RTFtext.Append("\pard\plain\ql\intbl{\fs" & _FontSizeNUM & "\cf0 " & (_Grid.GetRowCellDisplayText(_Grid.Columns.View.GetVisibleRowHandle(_ik), _Grid.Columns.View.VisibleColumns(_jk))) & "}\cell")
ElseIf _Grid.Columns.View.VisibleColumns(_jk).ColumnType.FullName = "System.Boolean" Then
If _Grid.GetRowCellValue(_Grid.Columns.View.GetVisibleRowHandle(_ik), _Grid.Columns.View.VisibleColumns(_jk)) = True Then
_RTFtext.Append("\pard\plain\ql\intbl{\fs" & _FontSizeNUM & "\cf0 " & "Van" & "}\cell")
Else
_RTFtext.Append("\pard\plain\ql\intbl{\fs" & _FontSizeNUM & "\cf0 " & "Nincs" & "}\cell")
End If
Else
_RTFtext.Append("\pard\plain\ql\intbl{\fs" & _FontSizeNUM & "\cf0\qr " & LTrim(RTrim(Format(_Grid.Columns.View.GetRowCellValue(_Grid.Columns.View.GetVisibleRowHandle(_ik), _Grid.Columns.View.VisibleColumns(_jk)), "#,##0.00"))) & "}\qr\cell")
End If
Next
_RTFtext.Append("\trowd\irow" & irowIndex & "\irowband" & irowIndex & "\trbrdrt\brdrs\brdrw10\trbrdrl\brdrs\brdrw10\trbrdrb\brdrs\brdrw10\trbrdrr\brdrs\brdrw10" & _
"\trleft-108\trautofit1\trpaddfl3\trpaddl108\trpaddfr3\trpaddr108")
For _jk As Integer = 0 To _Grid.Columns.View.VisibleColumns.Count - 1
_RTFtext.Append("\clvertalt\clbrdrt\brdrs\brdrw10\clbrdrl\brdrs\brdrw10\clbrdrb\brdrs\brdrw10\clbrdrr\brdrs\brdrw10\cltxlrtb\clftsWidth3\clwWidth3302" & _
"\clpadfr3\clpadr108\clpadft3\clpadt108\cellx" & _jk)
Next
irowIndex += 1
End If
Next
'--Last row --
'=================================================================================
If _Grid.IsGroupRow(_Grid.Columns.View.GetVisibleRowHandle(_RowNumFull - 1)) = True Then
_RTFtext.Append("\row")
_RTFtext.Append("\pard\plain\ql\intbl{\fs" & _FontSizeNUM & "\cf0 " & (_Grid.GetGroupRowDisplayText(_Grid.Columns.View.GetVisibleRowHandle(_RowNumFull - 1)).ToString) & "}\cell")
_RTFtext.Append("\trowd\irow" & irowIndex & "\irowband" & irowIndex & "\trbrdrt\brdrs\brdrw10\trbrdrl\brdrs\brdrw10\trbrdrb\brdrs\brdrw10\trbrdrr\brdrs\brdrw10" & _
"\trleft-108\trftsWidth1\trautofit1\trpaddfl3\trpaddl108\trpaddfr3\trpaddr108\tblindtype3\tblind0")
_RTFtext.Append("\clvertalt\clbrdrt\brdrs\brdrw10\clbrdrl\brdrs\brdrw10\clbrdrb\brdrs\brdrw10\clbrdrr\brdrs\brdrw10\cltxlrtb\clftsWidth3\clwWidth9619" & _
"\clpadfr3\clpadr108\clpadft3\clpadt108\cellx" & _LastCellIndex)
Else
_RTFtext.Append("\row")
For _jk As Integer = 0 To _Grid.Columns.View.VisibleColumns.Count - 1
If _Grid.Columns.View.VisibleColumns(_jk).ColumnType.FullName <> "System.Double" And _Grid.Columns.View.VisibleColumns(_jk).ColumnType.FullName <> "System.Boolean" Then
_RTFtext.Append("\pard\plain\ql\intbl{\fs" & _FontSizeNUM & "\cf0 " & (_Grid.Columns.View.GetRowCellDisplayText(_RowNum - 1, _Grid.Columns.View.VisibleColumns(_jk))) & "}\cell")
ElseIf _Grid.Columns.View.VisibleColumns(_jk).ColumnType.FullName = "System.Boolean" Then
If _Grid.IsGroupRow(_Grid.Columns.View.GetVisibleRowHandle(_RowNumFull - 1)) = True Then
_RTFtext.Append("\pard\plain\ql\intbl{\fs" & _FontSizeNUM & "\cf0 " & "Van" & "}\cell")
Else
_RTFtext.Append("\pard\plain\ql\intbl{\fs" & _FontSizeNUM & "\cf0 " & "Nincs" & "}\cell")
End If
Else
_RTFtext.Append("\pard\plain\ql\intbl{\fs" & _FontSizeNUM & "\cf0\qr " & LTrim(RTrim(Format(_Grid.Columns.View.GetRowCellValue(_Grid.Columns.View.GetVisibleRowHandle(_RowNumFull - 1), _Grid.Columns.View.VisibleColumns(_jk)), "#,##0.00"))) & "}\qr\cell")
End If
Next
_RTFtext.Append("\trowd\irow" & irowIndex & "\irowband" & irowIndex & "\lastrow\trbrdrt\brdrs\brdrw10\trbrdrl\brdrs\brdrw10\trbrdrb\brdrs\brdrw10\trbrdrr\brdrs\brdrw10" & _
"\trleft-108\trautofit1\trpaddfl3\trpaddl108\trpaddfr3\trpaddr108")
''---
For _jk As Integer = 0 To _Grid.Columns.View.VisibleColumns.Count - 1
_RTFtext.Append("\clvertalt\clbrdrt\brdrs\brdrw10\clbrdrl\brdrs\brdrw10\clbrdrb\brdrs\brdrw10\clbrdrr\brdrs\brdrw10\cltxlrtb\clftsWidth3\clwWidth3302" & _
"\clpadfr3\clpadr108\clpadft3\clpadt108\cellx" & _jk)
Next
End If
_RTFtext.Append("\row\pard\plain\ql")
_DocumentBody_NEW = _DocumentBody.Replace(_Tag, _RTFtext.ToString())
If _DocumentBody_NEW.Contains("\fonttbl{\f0 Times New Roman;") Then
_DocumentBody_NEW = _DocumentBody_NEW.Replace("\fonttbl{\f0 Times New Roman;", "\fonttbl{\f0 " & _FontType & ";") 'Font table remake
End If
Else
_DocumentBody_NEW = _DocumentBody.Replace(_Tag, " ")
End If
Return _DocumentBody_NEW
End Function
Function ColorTablereplacement(_DocumentBody As String, _RGB As String) As String()
Dim _Parameters(1) As String
Dim _RGBArray As String() = _RGB.Split(New [Char]() {","c})
Dim _actColorNum As Int32 = -1
Dim _ColorTable As String = (_DocumentBody.Remove(0, (InStr(_DocumentBody, "{\colortbl")) + "{\colortbl".Length - 1))
_ColorTable = _ColorTable.Remove(InStr(_ColorTable, "}") - 1) '--Act Color table
Dim _ColorArray As String() = _ColorTable.Split(New [Char]() {";"c})
For _ik As Int32 = 0 To _ColorArray.Length - 1
If _ColorArray(_ik) = "\red" & _RGBArray(0) & "\green" & _RGBArray(1) & "\blue" & _RGBArray(2) & " " Then
_actColorNum = _ik
End If
Next
If _actColorNum = -1 Then
Dim _CTable As New StringBuilder()
_CTable.Append("{\colortbl")
For _ik As Int32 = 0 To _ColorArray.Length - 2
_CTable.Append(_ColorArray(_ik) & ";")
Next
_CTable.Append("\red" & _RGBArray(0) & "\green" & _RGBArray(1) & "\blue" & _RGBArray(2) & " ;}")
Dim _OrigColorTable As String = "{\colortbl" & _ColorTable & "}"
_DocumentBody = _DocumentBody.Replace(_OrigColorTable, _CTable.ToString())
_Parameters(0) = _ColorArray.Length - 1
_Parameters(1) = _DocumentBody
Else
_Parameters(0) = _actColorNum
_Parameters(1) = _DocumentBody
End If
Return _Parameters
End Function
End Class