1

Acumatica でログイン ページをカスタマイズする方法を教えてもらえますか? ログインする会社を選択するときに、いくつかの情報を追加したいと思います。ご支援いただきありがとうございます。

4

2 に答える 2

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;
        }
    }
}
于 2014-09-18T05:02:56.413 に答える
0

どこを見るべきかという提案として、ページ MasterPages\Login.master を分析し、そこでいくつかの情報を変更することを提案できます。

于 2014-09-14T19:06:12.333 に答える