Создание пользовательской кнопки сохранения в форме InfoPath

Я разработал форму заявки на покупку для своей компании, которая отлично работает; однако руководство хочет добавить в форму еще одну функциональность. По сути, им нужна кнопка «сохранить форму», которую они могут щелкнуть, что автоматически откроет «сохранить какwindow whenever they want to save the form. Not only that, but they want the default folder that pops up in theсохранить какbox to be a networked drive (E.g.\\имя сервера\общие ресурсы отдела\утвержденные PR». Я знаю, что это в основном позволяет обойти несколько дополнительных кликов с испеченным в MS Office сохраняет функциональность, но это то, что они хотят, чтобы «уменьшить человеческий фактор».

Я искал несколько способов запрограммировать кнопку с помощью C#, но, кажется, что-то упускаю (я начинающий программист). Например, просто чтобы посмотреть, смогу ли я вообще заставить функцию сохранения работать на кнопке, я попытался использовать рекомендуемое:

using System.XML.Linq;

XDocument.save();

После отладки получаю:

System.Xml.Linq.XDocument не содержит определения для save.

Я подумал, что я не называю правильную ссылку. Я застрял! Кто-нибудь, кто может пролить свет на это? Думаю, на данный момент я просто хочу убедиться, что вообще возможно сделать кнопку сохранения, не говоря уже о том, чтобы по умолчанию она была на общем сетевом диске. Мои извинения, если это кажется болезненно простым.


person user3596466    schedule 02.05.2014    source источник


Ответы (1)


Вам нужно будет использовать Microsoft.Office.Interop.InfoPath вместо System.XML.Linq. Ссылка на infopath содержит ссылку на .Save(), надеюсь, остальная часть примера, который вы нашли, должна помочь с этого момента.

Если нет, вы можете посмотреть ссылку на System.Windows.Forms и использовать SaveFileDialog, чтобы позволить пользователю выбирать свой путь.

        SaveFileDialog dialog = new SaveFileDialog();
        dialog.InitialDirectory = @"\\servername\share";
        dialog.ShowDialog();
person Jason Clair    schedule 08.05.2014