动态数据asp.net中的外键关系在下拉列表中,如何自定义



我正在开发Asp.Net Dynamic Data project with linq to sql

我创建了一个数据库,该数据库在使用外键指定的两个表之间具有one to one relationship

即,我具有表Employee和表Department

Employee table
empid empname address departmentId 
Department table
departmentId departmentname

现在Student表将departmentId作为foreign key

当我导航到/Insert.aspx时,它将在下拉列表中显示department_name的列表。

它做到了这一点,但它将所有department_name显示到下拉列表中

如何以及在哪里编写linq查询,以便自定义department_name值

如果假设我只想在下拉列表中将computers填充为department_name我怎样才能做到这一点?

代码:在FieldTemplate文件夹ForeignKey_Edit.ascx.cs

protected void Page_Load(object sender, EventArgs e)
{
if (DropDownList1.Items.Count == 0)
{
if (Mode == DataBoundControlMode.Insert || !Column.IsRequired)
{
DropDownList1.Items.Add(new ListItem("[Not Set]", ""));
}
PopulateListControl(DropDownList1);
}
SetUpValidator(RequiredFieldValidator1);
SetUpValidator(DynamicValidator1);
}

数据动态正在内部填充下拉列表。

在此声明之前或之后PopulateListControl(DropDownList1);

我应该编写什么代码,以便只能填充特定的值。。?

代替PopulateListControl(DropDownList1);试试这个

if (ForeignKeyColumn.ParentTable.Name == "Departments")
{
List<Department> departments = // code to grab the correct Departments
foreach (Department d in departments)
{
DropDownList1.Items.Add(new ListItem(d.Name, d.Id.ToString()));
}
}

相关内容

  • 没有找到相关文章

最新更新