例如,我在数据库中有一个名为“Project”的列,其中包含项目编号,如p1,p2等。 “Project”列与另一个表中的另一个列“Tasks”链接,其中包含p1的t1,t2,t3和p2的t4,t5,t6等。 因此,当我在项目字段中选择p1执行时,它应该只显示其相关的任务编号,即“任务”组合框中只显示t1,t2,t3,当我选择p2时,它应该只显示t4,t5,t6。
现在我的问题是它在“任务”组合框中显示从t1到t6的所有任务而不是特定的任务。
对此问题的任何可行解决方案(如代码段和指南)表示赞赏,谢谢。
答案 0 :(得分:0)
请参阅以下示例
Project Table:
ID ProjectName
1 P1
2 P2
任务表:
ID ProjectID TaskName
1 1 T1
2 1 T2
3 1 T3
4 2 T4
5 2 T5
6 2 T6
将项目ID作为参数传递给查询
Select TaskName from Task Where ProjectID = 1 -- @ProjectID
结果:
ID
T1
T2
T3
OR
如果您拥有对象中的所有值,则可以使用LINQ。
包含命名空间System.LINQ
int selectProjectID = 1;
var projectTask = task.where(x => x.ProjectID == ProjectID).ToList();
将projectTask绑定到下拉列表
答案 1 :(得分:0)
private void cbx_pbnum_DropDownOpened(object sender,EventArgs e) { 列出lstprodbacklog = obcpb.Where(p => p.ProjectTableId.ToString()== cbx_projectname.SelectedValue.ToString())。ToList();
if(lstprodbacklog.Count>0)
{
cbx_pbnum.Items.Clear();
foreach (ProductBacklog pb in lstprodbacklog)
{
if (cbx_projectname.SelectedValue.ToString() == pb.ProjectTableId.ToString())
{
cbx_pbnum.Items.Add(pb.PBNum);
}
}
}
}