组合框上的数据加载(当前日志记录用户除外)

本文关键字:记录 日志 用户 数据 加载 组合 | 更新日期: 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");