如何在EasyFlow .net 的網頁程式上使用自已所開發的動態函式庫

如何在EasyFlow .net 的網頁程式上使用自已所開發的動態函式庫

也許我們在開發EasyFlow電子表單時常常會抱怨,表單欄位所能提供選擇的預設值太少了,能不能用我們自已開發的函式庫來給預設值,這就由我來告訢你。

使用VirtualStudio C#來開發動態函式庫專案

建立動態函式庫
當我們完成專案時,利用建置方案來產生動態函式庫檔案。

安裝自已的DLL到EasyFlow上
取出我們剛剛建置完成的DLL檔,將它移到Easyflow主機專門放DLL檔資料夾的位置。以我情況來說DLL存放路徑為 D:EasyFlowEFNETbin ,放置完成即完成安裝的動作。

如何使用我們所加進去的動態函式庫
首先我們當然是電子表單設計精靈來產生一個表單,產生出來的申請表單會放在 D:EasyFlowEFNETsrcFRM表單代號的資料夾 ,編輯 表單代號的aspx.cs的檔案。
在檔案的最上頭是引入命名空間,加上我們動態函式庫中所宣告的命名空間。

using 這是我函式庫中宣告的命名空間;

大約在檔案的中段,可以發現 SetDefaultValue 的 function這裏可以寫入單頭欄位的預設值(如果有表單有單身預設值就寫在SetDetailDefaultValue這個function裏)。在這個 function 內,我們可以叫用我們所宣告的類別來產類別物件,並使用這個物件提供的公開 function 取的想要的資訊來指定表單欄位的預設值。(P.S這檔案中也可以找到提供登入者資訊的一些 function )

P.S:更改預設值在設定表單欄位的初始值中

defalutHash.Add("這裏放table欄位名稱","這裏放所給的初始值");


測試
新增我們剛修改的電子單表來,檢驗是否依我們所想要的帶出預設值了。

17 thoughts on “如何在EasyFlow .net 的網頁程式上使用自已所開發的動態函式庫

  1. Jerry 你好想請問你
    單頭欄位的資料如何帶到單身的欄位上呢?
    例如單頭有一個text1 = 大家好
    單身有一個text2 要讓 text2 的值=text1的值

  2. 謝謝 jerry 的文件,可是我們家的版本是1.3版好像不完全適用,我也努力了兩天可是還是沒法做到,我會繼續努,謝謝你

  3. jerry 你好~我想請問你另一個問題,就是鼎新製表精靈裡面有一個物件"Select",我現在在單身的地方用將erp料號的資料帶入到這個物件上,我現在想將我選到的料號帶到SQL中去帶出他單價然後放在另一個Textbox上,可是我在protected override void settingClientFunction() 裡面加了這個物件的"change"、"onclick"、’onblur"屬性,可是我發現他沒有動作,是不是這個物件沒有這些屬性的功能??

    • Allen:
      可以先用 alert(‘test’);
      用在onchange、onclick、onblur上,像是這樣
      this.select1.DDLInput.Attributes.Add(“onchange","alert(‘test!!’);");
      可以彈出訊息。至於為什麼要用上面這樣指定呢?我是用VS2008加入專案看的。

    • Allen 你可以在select物件上設定option的text和value,text是ERP料號而value為料號的金額。
      然後利用select onchange將金額寫入到指定的input上。

  4. EasyFlow.net 電子表單中有關Dropdown 下拉式選單假設有 2個以上. 請問有辦法將這二個下拉式選單的值相加顯示在一個欄位嗎?
    我測試好像只有同樣是 text 欄位才能相加, 這個不曉得有其也解法嗎?

    • 相加顯示在一個欄位是指:1. Dropdown 下拉選單 2. text欄位 3. 其他類型的標籤
      可以用jquery取得Dropdown(select標籤)的選取值,當觸發select.change 事件時,將兩個下拉選單的值相加在看要把相加的值填到哪去。

      • 我要做到下拉式選單(1.顯示為中文字,2內存為數字) 然後有很多條下拉式選單,User選完很多條下拉式選單後. 最後將內存的數字相加起來顯示在另一個欄位 叫總分.. 大概是這樣!

      • 可以參考看看下面的jQuery範例:

        function sum_grades(){
        var grades=0;
        $(“select").each(function(){grades+=new Number($(this).val());});
        $(“input[id*=sum_grades]").val(grades);
        }
        $(function(){
        $(“select").change(function(){
        sum_grades();
        });
        sum_grades();
        });

        1
        2
        3
        4
        5

        1
        2
        3
        4
        5

        1
        2
        3
        4
        5

        1
        2
        3
        4
        5

        1
        2
        3
        4
        5

        1
        2
        3
        4
        5

        1
        2
        3
        4
        5

        1
        2
        3
        4
        5

        1
        2
        3
        4
        5

        1
        2
        3
        4
        5

  5. Hi, Jerry, 想請教個問題,我司的EF是.NET2.X版的,目前我想試試看,是否可在dropdown下拉式選單選取一值後,隱藏的textbox和label會顯示出來,是否能在此版本做到呢?

    • 建議在填單時不要隱藏textbox和label,因為顯示時位置會跑掉。直接用jquery將要隱藏的標籤設為隱藏再利用select.change()的事件決定要顯示或隱藏textbox、label。
      以下是我實作jquery的幾行程式碼,是寫在表單JS的檔案上頭。
      var hidden_obj;
      $(function(){
      hidden_obj=$(“#MasterPage_MasterPageContent_label1,#MasterPage_MasterPageContent_label2,#MasterPage_MasterPageContent_text1, #MasterPage_MasterPageContent_text2″);//將要操作樣式顯示或隱藏的標籤元素,轉為jQuery物件以利操作。
      hidden_obj.css({display:"none"}).attr(“disabled",true);//先將所選取的物件全部隱藏。
      $(“#MasterPage_MasterPageContent_select1_ddl").change(function(){//當下直式選單改變值時,執行顯示和隱藏的操作。
      hidden_obj.css({display:"none"}).attr(“disabled",true);
      //將先前選取的物件全部隱藏並將標籤設為無效,再判斷下拉選單選取值將想要的textbox、label設為顯示與有效。
      if($(this).val()=="select1″){
      $(“#MasterPage_MasterPageContent_label1″).css({display:"inline-block"}).removeAttr(“disabled");
      $(“#MasterPage_MasterPageContent_text1″).css({display:"block"}).removeAttr(“disabled");
      }
      else if($(this).val()=="select2″){
      $(“#MasterPage_MasterPageContent_label2″).css({display:"inline-block"}).removeAttr(“disabled");
      $(“#MasterPage_MasterPageContent_text2″).css({display:"block"}).removeAttr(“disabled");
      }
      });
      });

  6. 能否請問 ?目前我們公司有使用easyflow的請假單串到smarterp內的人事模組,
    檔案在src\ewi\ewipaf12下面, 但是這隻程式 並沒有cs檔案 ,裡面只有js檔
    所以在js檔內呼叫的如 var tResult = tw.com.dsc.easyflowDotNet.forms.EWIPALEF12.calculateLeaveTime
    這種呼叫,根本找不到calculateLeaveTime. 問客服 客服說是寫在bin\src.WEI.WEIPALEF12.dll
    但反組議後, 還是參照一堆,也找不到參照的東西,不知道是否可以指點一下,如何找到這些宣告的東西 

    • Hi dawei,
      不好意思,我已經很久沒碰Easyflow了。所以可能沒辦法指點你什麼。你可以參考這篇http://stackoverflow.com/questions/131985/which-program-in-visual-studio-lets-me-look-into-dlls-to-see-its-api
      看看能不能找出一些可用的資訊。或是再細問鼎新客服人員,你目前所遭遇的問題所在。

      Sorry 囉!

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s