2017-10-17 3 views
0

Gibt es eine Möglichkeit, einen Hyperlink zu einer Datei zu machen, die ihren Inhalt öffnet oder von der Tabelle, zu der sie gehört, lädt? (In einem gewissen Sinne zu tun genau das Gleiche wie AllowEdit aber offen/laden Sie die Datei statt.) Beispiel: enter image description hereHyperlink zum Öffnen/Herunterladen einer Datei (Acumatica)

Wenn die Standard-Spezifikation Dateien sind von Dateien auf den Kunden gefunden:

enter image description here

Bitte beachten Sie, dass der Kommentar der Datei angezeigt wird. Wenn jemand Vorschläge hat, wie der Dateiname angezeigt werden soll, wäre das ebenfalls hilfreich.

Antwort

0

Sie können die Dateinamen wie folgt erhalten:

foreach (Guid note in PXNoteAttribute.GetFileNotes(cache, dacRecord)) 
{ 
    FileInfo file = fileMaintenance.GetFileWithNoData(note); 
    PXTrace.WriteInformation(file.Name); 
} 

die Datei herunterzuladen, einen DAC Bereich der String-Typ erstellen. Sie können die Zeichenfolge mit dem Dateinamen im Ereignis FieldDefaulting oder FieldSelecting initialisieren. Deklarieren Sie eine Aktion, und verwenden Sie das LinkCommand-Attribut in der ASPX-Datei, um dieses Feld zu einem Link zu machen.

In diesem Action-Event-Handler können Sie den Browser auf die Datei, um umleiten, um es herunterzuladen/zu öffnen:

Guid[] notes = PXNoteAttribute.GetFileNotes(cache, dacRecord); 

if (notes != null && notes.Length > 0) 
{ 
    FileInfo downloadFile = fileMaint.GetFile(notes[0]); 

    if (downloadFile != null) 
    { 
     throw new PXRedirectToFileException(downloadFile.UID, true); 
    } 
} 
+0

Dank HB, ich in ein paar Tagen diesem einen Versuch geben und lassen Sie wissen, wie es geht. –

+0

Wenn Sie Hilfe beim Festlegen des Ereignishandlers LinkCommand und Link benötigen, können Sie auf diese Antwort verweisen: https://stackoverflow.com/questions/26387291/how-to-create-a-hyperlink-user-field –

+0

HB, wo würde ich die foreach-aussage stellen und woraus würde dacRecord bestehen? Was ich damit meine, wäre dacRecord durch UploadFileRevision oder eine andere Tabelle oder etwas anderes zusammen definiert? –