组合框上的数据加载(当前日志记录用户除外)
本文关键字:记录 日志 用户 数据 加载 组合 | 更新日期: 2023-09-27 17:57:35
我将从组合框中的Employee表中加载EmployeeName。但我想加载除当前日志记录员工名称之外的所有员工名称。例如,X员工已经用他的个人页面登录,他想在组合框中加载其他员工的姓名。
我不知道如何做到这一点,我使用的是ext.net combobox控件和带有asp.net(c#)的linq。你的小样本/逻辑会有更多帮助。
谢谢。
这是我的密码。
BLL:培训经理
public static List<EEmployee> GetEmployeeName()
{
return PayrollDataContext.EEmployees.OrderBy(y => y.Name).ToList();
}
DAL:Linq到SQL代码附加
网址:Employee.ascx
<ext:Combobox ID="cmbRecommendation" Width="250" LabelSeparator="" runat="server" DisplayField="Name"
FieldLabel="Ask for Recommendation from" ValueField="EmployeeId" QueryMode="Local" LabelAlign="Top">
<Store>
<ext:Store ID="Store1" runat="server">
<Model>
<ext:Model ID="Model1" runat="server">
<Fields>
<ext:ModelField Name="Name" Type="String" />
<ext:ModelField Name="EmployeeId" Type="Int" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
</Store>
</ext:Combobox>
Employee.ascx.cs
protected void Page_Load(object sender, EventArgs e)
{
if (!X.IsAjaxRequest)
{
cmbRecommendation.Store[0].DataSource = TrainingManager.GetEmployeeName();
cmbRecommendation.Store[0].DataBind();
}
}
注意:员工姓名在组合框中显示为A B C,当使用B登录时,我只想显示A和C。
您可以从DataSource:中删除当前员工
var data = TrainingManager.GetEmployeeName();
/* remove the current employee from the data list */
cmbRecommendation.Store[0].DataSource = data;
或者定义GetEmployeeName方法的重载版本,该方法采用要排除的员工名称。
cmbRecommendation.Store[0].DataSource = TrainingManager.GetEmployeeName("currentEmployeeName");