2014-09-11 160 views
1

任何人都可以指導我如何自定義Acumatica的登錄頁面?我想在選擇公司登錄時添加一些信息。 感謝您的支持。如何自定義Acumatica的登錄頁面

+0

嗯。請告訴我,您使用的是Acumatica的哪個版本?我可以嘗試在我的電腦上安裝你的版本,並希望能給你一些答案 – 2014-09-25 16:15:02

回答

1

這是我的絕招

首先修改幀/ Login.aspx.cs並添加以下功能

private DataSet GetCompanyList() 
    { 
     string connectionString = ConfigurationManager.ConnectionStrings["ProjectX"].ConnectionString; 
     string queryString = "SELECT b.AcctCD, b.AcctName FROM BAccount b WHERE b.[Type] = 'CP'"; 
     SqlDataAdapter adapter = new SqlDataAdapter(queryString, connectionString); 

     DataSet companies = new DataSet(); 
     adapter.Fill(companies, "BAccount"); 

     return companies; 
    } 

然後編輯FillCompanyCombo功能:

private void FillCompanyCombo() 
{ 
    DataSet ds = GetCompanyList(); 
    DataTable dt = ds.Tables[0]; 

    string[] companies = PXDatabase.AvailableCompanies; 

    var query = from row in dt.AsEnumerable() 
       join a in companies on row["AcctCD"].ToString().Trim() equals a 
       select new { Code = a, Name = row["AcctName"] }; 
    var list = query.ToList(); 

    if (list.Count == 0) 
    { 
     this.cmbCompany.Visible = false; 
    } 
    else 
    { 
     this.cmbCompany.Items.Clear(); 
     foreach (var item in list) 
     { 
      this.cmbCompany.Items.Add(new ListItem(item.Code + " - " + item.Name, item.Code)); 
     } 

     if (list.Count == 1) 
     { 
      this.cmbCompany.Visible = false; 
      this.cmbCompany.SelectedValue = this.cmbCompany.Items[0].Value; 
     } 
     else 
     { 
      HttpCookie cookie = this.Request.Cookies["CompanyID"]; 
      if (cookie != null && !string.IsNullOrEmpty(cookie.Value)) 
       this.cmbCompany.SelectedValue = cookie.Value; 
     } 
    } 
} 
0

作爲建議在哪裏看我可以建議你分析頁面MasterPages \ Login.master和修改那裏的一些信息。

+0

我正在與acumatica版本4.0,所以我找不到Login.master。 – 2014-09-16 01:16:22