2016-02-08 2 views
0

Я хочу открыть папку из записи, снятой в форме в Epicor. Я создал кнопку, и до сих пор она открывает корневую папку, но я хочу, чтобы она попала в подпапку с именем записи в качестве подпапки, которая будет создана из хранимой процедуры SQL при создании новой записи.Epicor C# Открытие папки с помощью кнопки

Вот то, что я до сих пор:

private void epiButtonC1_Click(object sender, System.EventArgs args) 
{ 
    // ** Place Event Handling Code Here ** 
    string folder = "\\\\MasterServ\\Shared\\Customer Attachments\\"; 
    Process.Start("IExplore.exe", folder); 
} 

Я знаю, что что-то должно быть добавлено в конце места, чтобы позвонить в папку, используя записи, но им не уверен, что.

+0

очень похоже на это: http://stackoverflow.com/questions/1746079/how-can-i-open-windows-explorer-to-a-certain-directory-from-within-a-wpf-app – Andrew

+0

Подобный, но мой - еще один шаг. Мне нужно, чтобы она открыла подпапку с именем ID, которая также отображается в текстовом поле, которое извлекается из таблицы SQL. Это должно произойти для каждой записи, и каждая запись имеет разные идентификаторы, поэтому мне нужно, чтобы система узнала, какую папку открыть, когда я нажимаю кнопку вложений. –

+0

Я смущен. У вас есть код для открытия папки X, и вы спрашиваете, как открыть папку Y? Точно так же вы открыли папку X. –

ответ

0

При попытке получить данные из элемента управления в Epicor, как правило, вы хотите перейти в EpiDataView, чтобы получить значение, а не сам элемент управления. Существует несколько уровней абстракции в форме, которая делает управление управляемым неустойчивым.

Из вашего примера для комментариев я бы сделал это. Код непроверен, поэтому, надеюсь, я не сделал опечатку.

EpiDataView edvUD104 = ((EpiDataView)(oTrans.EpiDataViews["UD104"])); 
if (edvUD104.HasRow) 
{ 
    string folder = "\\\\MasterServ\\Shared\\Customer Attachments\\" 
        + edvUD104.dataView[edvUD104.Row]["Key1"].ToString(); 
    Process.Start("IExplore.exe", folder); 
} 

Отредактировано для удобочитаемости.

+0

Вот чего я не получаю. UD104 действительно просматривается, но посмотрите на эти ошибки. –

+0

'Epicor.Mfg.UI.FrameWork.EpiDataView' не содержит определения для 'DataView' –

+0

Hereis код частной недействительным epiButtonC1_Click (объект отправителя, System.EventArgs арг) \t { \t \t EpiDataView edvUD104 = ((EpiDataView) (oTrans.EpiDataViews [ "UD104"])); \t \t если (edvUD104.HasRow) \t \t { \t \t // ** Место обработки событий Код Здесь ** \t \t строка папки = "\\\\ MasterServ \\ Shared \\ Вложения клиентов \\" + edvUD104.dataview [edvUD104.Row] [ "Key1"].Нанизывать(); \t \t Process.Start ("IExplore.exe", папка); . \t \t} \t} –

Смежные вопросы