如何自定义Acumatica的登录页面

时间:2014-09-11 02:33:52

标签: cloud customization erp acumatica

有人可以指导我如何在Acumatica中自定义登录页面吗?我想在选择公司登录时添加一些信息。 谢谢你的支持。

2 个答案:

答案 0 :(得分:1)

这是我的伎俩

首先修改Frames / 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;
        }
    }
}

答案 1 :(得分:0)

作为建议在哪里查看我可以建议您分析页面MasterPages \ Login.master并修改一些信息。