有人可以指导我如何在Acumatica中自定义登录页面吗?我想在选择公司登录时添加一些信息。 谢谢你的支持。
答案 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并修改一些信息。