Imports System 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.ExpressApp.Editors Imports DevExpress.ExpressApp.Win.Editors Imports DevExpress.Data.Filtering Imports DevExpress.XtraGrid.Views.Grid Imports DevExpress.XtraRichEdit.Commands Imports DevExpress.XtraRichEdit.API.Native Imports DevExpress.ExpressApp.SystemModule Public Class ImmovablesPriceListVCWIN Inherits DevExpress.ExpressApp.ViewController Private _RichEditControl As RichEditControl Private _GridListEditor As GridListEditor Public Sub New() MyBase.New() 'This call is required by the Component Designer. InitializeComponent() RegisterActions(components) End Sub Protected Overrides Sub OnViewControlsCreated() MyBase.OnViewControlsCreated() If View.Id = "ImmovablesPriceListHeader_DetailView" Then Dim _DetailView As DetailView = TryCast(View, DetailView) Dim _RichEditControlViewItem As ViewItem If _DetailView IsNot Nothing Then _RichEditControlViewItem = _DetailView.GetItems(Of RichEditPropertyEditor)(0) If _RichEditControlViewItem IsNot Nothing Then AddHandler _RichEditControlViewItem.ControlCreated, AddressOf RichEditControlViewItem_ControlCreated End If '_RichEditControl.Document.Variables.Add("DOCUMENTVARIABLE Created", "nnnnna") 'AddHandler _RichEditControl.CalculateDocumentVariable, AddressOf _CalculateDocumentVariable End If End If 'If View.Id = "CRMEstate_Offer_Template_DetailView" Then ' _RichEditControl = TryCast(View, DetailView).GetItems(Of RichEditPropertyEditor)(0).RichEditUserControl.RichEditControl ' _RichEditControl.Document.Fields.Add(_RichEditControl.Document.Range.End, "DOCVARIABLE Count") 'End If 'If View.Id = "ImmovablesPriceListHeader_ImmovablesPriceListRowsA_ListView" Or _ ' View.Id = "ImmovablesPriceListHeader_ImmovablesPriceListRowsO_ListView" Or _ ' View.Id = "ImmovablesPriceListHeader_ImmovablesPriceListRowsG_ListView" Or _ ' View.Id = "ImmovablesPriceListHeader_ImmovablesPriceListRowsC_ListView" Then ' Dim _ListView As ListView = CType(View, ListView) ' _GridListEditor = TryCast(_ListView.Editor, GridListEditor) ' If _GridListEditor IsNot Nothing Then ' _GridListEditor.AllowEdit = True ' For i As Integer = 0 To _GridListEditor.Columns.Count - 1 ' If _GridListEditor.GridView.Columns(i).FieldName <> "ListPriceBruttoDEV" And _ ' _GridListEditor.GridView.Columns(i).FieldName <> "ListPriceBruttoHUF" And _ ' _GridListEditor.GridView.Columns(i).FieldName <> "ListPriceBruttoDEVRent" And _ ' _GridListEditor.GridView.Columns(i).FieldName <> "ListPriceBruttoHUFRent" And _ ' _GridListEditor.GridView.Columns(i).FieldName <> "NoteRow" Then ' _GridListEditor.GridView.Columns(i).OptionsColumn.ReadOnly = True ' _GridListEditor.GridView.Columns(i).OptionsColumn.AllowEdit = False ' _GridListEditor.GridView.Columns(i).OptionsColumn.TabStop = False ' '_GridListEditor.GridView.Columns(i).FieldName = "AreaListPriceNettoHUF" Then _ ' ' Or Not _GridListEditor.GridView.Columns(i).FieldName = "AreaListPriceNettoDEV" _ ' ' Or Not _GridListEditor.GridView.Columns(i).FieldName = "ListPriceNettoHUF" _ ' ' Or Not _GridListEditor.GridView.Columns(i).FieldName = "ListPriceNettoDEV" _ ' ' Or Not _GridListEditor.GridView.Columns(i).FieldName = "ListPriceBruttoDEV" _ ' ' Or Not _GridListEditor.GridView.Columns(i).FieldName = "ListPriceBruttoHUF" _ ' ' Or Not _GridListEditor.GridView.Columns(i).FieldName = "AreaListPriceNettoHUFRent" _ ' ' Or Not _GridListEditor.GridView.Columns(i).FieldName = "AreaListPriceNettoDEVRent" _ ' ' Or Not _GridListEditor.GridView.Columns(i).FieldName = "ListPriceNettoHUFRent" _ ' ' Or Not _GridListEditor.GridView.Columns(i).FieldName = "AreaListPriceBruttoDEV" _ ' ' Or Not _GridListEditor.GridView.Columns(i).FieldName = "AreaListPriceBruttoHUF" _ ' 'Or Not _GridListEditor.GridView.Columns(i).FieldName = "AreaListPriceBruttoDEVRent" _ ' 'Or Not _GridListEditor.GridView.Columns(i).FieldName = "AreaListPriceBruttoHUFRent" _ ' ' Or Not _GridListEditor.GridView.Columns(i).FieldName = "ListPriceNettoDEVRent" _ ' ' Or Not _GridListEditor.GridView.Columns(i).FieldName = "ListPriceBruttoDEVRent" _ ' ' Or Not _GridListEditor.GridView.Columns(i).FieldName = "ListPriceBruttoHUFRent" Then ' End If ' Next i ' End If 'End If End Sub Protected Overrides Sub OnActivated() MyBase.OnActivated() If View.Id = "ImmovablesPriceListHeader_ImmovablesPriceListRowsA_ListView" Or _ View.Id = "ImmovablesPriceListHeader_ImmovablesPriceListRowsO_ListView" Or _ View.Id = "ImmovablesPriceListHeader_ImmovablesPriceListRowsG_ListView" Or _ View.Id = "ImmovablesPriceListHeader_ImmovablesPriceListRowsC_ListView" Then Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)()?.Active.SetItemValue("", False) Frame.GetController(Of DevExpress.ExpressApp.Win.SystemModule.WinModificationsController).ModificationsHandlingMode = ModificationsHandlingMode.AutoCommit End If End Sub Protected Overrides Sub OnDeactivated() MyBase.OnDeactivated() If View.Id = "ImmovablesPriceListHeader_ImmovablesPriceListRowsA_ListView" Or _ View.Id = "ImmovablesPriceListHeader_ImmovablesPriceListRowsO_ListView" Or _ View.Id = "ImmovablesPriceListHeader_ImmovablesPriceListRowsG_ListView" Or _ View.Id = "ImmovablesPriceListHeader_ImmovablesPriceListRowsC_ListView" Then Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)()?.Active.SetItemValue("", True) Frame.GetController(Of DevExpress.ExpressApp.Win.SystemModule.WinModificationsController).ModificationsHandlingMode = ModificationsHandlingMode.Confirmation End If End Sub Private Sub aInsertAPriceListToDocument_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aInsertAPriceListToDocument.Execute Dim _DetailView As DetailView = CType(View, DetailView) Dim _ImmovablesPriceListHeader As ImmovablesPriceListHeader = TryCast(e.CurrentObject, ImmovablesPriceListHeader) Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace) 'Ha sablon alapján akarod készíteni akkor kell egy paraméter és a sablon amit be akarsz tölteni '_ImmovablesPriceListHeader.DocumentBody = _ImmovablesPriceListHeader.DocumentBody '_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 If _ImmovablesPriceListHeader.DocumentBody Is Nothing Then _ImmovablesPriceListHeader.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{\cf0 }\par\pard\plain\ql\par\pard\plain\ql\par}" End If Dim _ColorTable As String = (_ImmovablesPriceListHeader.DocumentBody.Remove(0, (InStr(_ImmovablesPriceListHeader.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 & "}" _ImmovablesPriceListHeader.DocumentBody = _ImmovablesPriceListHeader.DocumentBody.Replace(_OrigColorTable, _CTable.ToString()) _ImmovablesPriceListHeader.DocumentBody = _ImmovablesPriceListHeader.DocumentBody.Replace("improjectim", _ImmovablesPriceListHeader.ImmovablesGroups.ShortName) '================================================================================= '=========================== Apartments ======================================= Dim ImmovablesPriceListRowsA As ListPropertyEditor ImmovablesPriceListRowsA = TryCast(View, DetailView).FindItem("ImmovablesPriceListRowsA") If CType(ImmovablesPriceListRowsA.ListView, ListView) IsNot Nothing Then Dim _ListView_Apartments As ListView = CType(ImmovablesPriceListRowsA.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 _ImmovablesPriceListHeader.DocumentBody = RTFTableCreator(_Grid_Apartments, "imapartmentsim", _ImmovablesPriceListHeader.DocumentBody) End If End If '================================================================================= '=========================== Offices ========================================== Dim ImmovablesPriceListRowsO As ListPropertyEditor ImmovablesPriceListRowsO = TryCast(View, DetailView).FindItem("ImmovablesPriceListRowsO") If CType(ImmovablesPriceListRowsO.ListView, ListView) IsNot Nothing Then Dim _ListView_Offices As ListView = CType(ImmovablesPriceListRowsO.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 _ImmovablesPriceListHeader.DocumentBody = RTFTableCreator(_Grid_Offices, "imofficesim", _ImmovablesPriceListHeader.DocumentBody) End If End If '================================================================================= '=========================== Garages ========================================== Dim ImmovablesPriceListRowsG As ListPropertyEditor ImmovablesPriceListRowsG = TryCast(View, DetailView).FindItem("ImmovablesPriceListRowsG") If CType(ImmovablesPriceListRowsG.ListView, ListView) IsNot Nothing Then Dim _ListView_Garages As ListView = CType(ImmovablesPriceListRowsG.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 _ImmovablesPriceListHeader.DocumentBody = RTFTableCreator(_Grid_Garages, "imgaragesim", _ImmovablesPriceListHeader.DocumentBody) End If End If '================================================================================= '=========================== Container ========================================== Dim ImmovablesPriceListRowsC As ListPropertyEditor ImmovablesPriceListRowsC = TryCast(View, DetailView).FindItem("ImmovablesPriceListRowsC") If CType(ImmovablesPriceListRowsC.ListView, ListView) IsNot Nothing Then Dim _ListView_Container As ListView = CType(ImmovablesPriceListRowsC.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 _ImmovablesPriceListHeader.DocumentBody = RTFTableCreator(_Grid_Container, "imcontainerim", _ImmovablesPriceListHeader.DocumentBody) End If End If '================================================================================= End Sub 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 _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(_RowNum - 1)) = True Then _RTFtext.Append("\row") _RTFtext.Append("\pard\plain\ql\intbl{\fs" & _FontSizeNUM & "\cf0 " & (_Grid.GetGroupRowDisplayText(_Grid.Columns.View.GetVisibleRowHandle(_RowNum - 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(_RowNum - 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(_RowNum - 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 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 aRestorePriceListTemplate_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aRestorePriceListTemplate.Execute Try Dim _ocur As Xpo.XPObjectSpace = View.ObjectSpace Dim _ImmovablesPriceListHeader As ImmovablesPriceListHeader = TryCast(e.SelectedObjects(0), ImmovablesPriceListHeader) Dim _ImmovablesGroupsParameters As ImmovablesGroupsParameters = _ocur.FindObject(Of ImmovablesGroupsParameters)(CriteriaOperator.Parse("ImmovablesGroups=?", _ImmovablesPriceListHeader.ImmovablesGroups)) If _ImmovablesGroupsParameters Is Nothing Then Throw New Exception("*Nincsen beállítva az adott ingatlancsoporthoz a paraméterek!") _ImmovablesPriceListHeader.DocumentBody = _ImmovablesGroupsParameters.DocumentBodyPriceList Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.OkOnly) End Try End Sub Private Sub RichEditControlViewItem_ControlCreated(sender As Object, e As EventArgs) Dim itemControl As Object = (CType(sender, ViewItem)).Control _RichEditControl = TryCast(itemControl, RichEditUserControl).RichEditControl End Sub End Class