First create solution
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
Imports DevExpress.XtraSpreadsheet.Services
|
||||
Imports DevExpress.XtraSpreadsheet
|
||||
Imports DevExpress.XtraSpreadsheet.Commands
|
||||
Imports DevExpress.ExpressApp
|
||||
|
||||
Public Class CustomCommandFactoryServise
|
||||
Inherits SpreadsheetCommandFactoryServiceWrapper
|
||||
Private Property Control() As SpreadsheetControl
|
||||
Get
|
||||
Return m_Control
|
||||
End Get
|
||||
Set(value As SpreadsheetControl)
|
||||
m_Control = value
|
||||
End Set
|
||||
End Property
|
||||
Private Property View As DevExpress.ExpressApp.View
|
||||
Get
|
||||
Return m_View
|
||||
End Get
|
||||
Set(value As DevExpress.ExpressApp.View)
|
||||
m_View = value
|
||||
End Set
|
||||
End Property
|
||||
Private m_Control As SpreadsheetControl
|
||||
Private m_View As DevExpress.ExpressApp.View
|
||||
Public Sub New(service As ISpreadsheetCommandFactoryService, _control As SpreadsheetControl, _view As DevExpress.ExpressApp.View)
|
||||
MyBase.New(service)
|
||||
Control = _control
|
||||
View = _view
|
||||
End Sub
|
||||
|
||||
Public Overrides Function CreateCommand(id As SpreadsheetCommandId) As SpreadsheetCommand
|
||||
Dim command As SpreadsheetCommand = MyBase.CreateCommand(id)
|
||||
If id = SpreadsheetCommandId.FileSave Then
|
||||
Return New SaveCommand(Control, View)
|
||||
End If
|
||||
Return command
|
||||
End Function
|
||||
End Class
|
||||
|
||||
Public Class SaveCommand
|
||||
Inherits SaveDocumentCommand
|
||||
Private m_View As DevExpress.ExpressApp.View
|
||||
Private m_Control As SpreadsheetControl
|
||||
Private Property SpreadControl() As SpreadsheetControl
|
||||
Get
|
||||
Return m_Control
|
||||
End Get
|
||||
Set(value As SpreadsheetControl)
|
||||
m_Control = value
|
||||
End Set
|
||||
End Property
|
||||
Private Property View As DevExpress.ExpressApp.View
|
||||
Get
|
||||
Return m_View
|
||||
End Get
|
||||
Set(value As DevExpress.ExpressApp.View)
|
||||
m_View = value
|
||||
End Set
|
||||
End Property
|
||||
Public Sub New(control As ISpreadsheetControl, _view As DevExpress.ExpressApp.View)
|
||||
MyBase.New(control)
|
||||
SpreadControl = control
|
||||
View = _view
|
||||
End Sub
|
||||
Public Overrides Sub Execute()
|
||||
Dim _OpenSpreadDocument_Popup = TryCast(View.SelectedObjects(0), OpenSpreadDocument_Popup)
|
||||
Dim _BusinessDirectory As BusinessDirectory = _OpenSpreadDocument_Popup.BusinessDirectory
|
||||
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
||||
|
||||
Dim _FilePath As String = System.IO.Path.Combine(System.IO.Path.GetTempPath(), _OpenSpreadDocument_Popup.BusinessDirectory.FileData.FileName)
|
||||
Dim _Stream As System.IO.Stream = New System.IO.FileStream(_FilePath, System.IO.FileMode.Create)
|
||||
SpreadControl.Document.SaveDocument(_Stream, DevExpress.Spreadsheet.DocumentFormat.OpenXml)
|
||||
_Stream.Close()
|
||||
|
||||
Dim _StreamFile = New System.IO.FileStream(_FilePath, System.IO.FileMode.Open, System.IO.FileAccess.Read)
|
||||
Dim _StreamReader As New System.IO.StreamReader(_StreamFile)
|
||||
_StreamFile.Seek(0, System.IO.SeekOrigin.Begin)
|
||||
|
||||
_OpenSpreadDocument_Popup.BusinessDirectory.FileData.LoadFromStream(_OpenSpreadDocument_Popup.BusinessDirectory.FileData.FileName, _StreamFile)
|
||||
_ocur.CommitChanges()
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
Reference in New Issue
Block a user