我有如下的DataSet设置:
可以看出,两个表之间存在关系。
在我的表单页面中,我有以下布局:
组合框只需选择“平台”,我想得到的是ListBox只显示属于该关系的记录,由 plataforma_id 过滤。
在表'SetupUrlConditions'的TableAdaptor中,我将其设置如下:
当我运行应用程序时,ListBox始终显示所有记录,而不是按关系过滤。更改ComboBox所选项目,结果始终相同。
那么,我的代码中是否缺少完成此任务的内容?
感谢。
编辑:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Backoffice
{
public partial class SetupRules : Form
{
public SetupRules()
{
InitializeComponent();
}
private void plataformasBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
this.Validate();
this.plataformasBindingSource.EndEdit();
this.tableAdapterManager.UpdateAll(this.plataformasDataSet);
}
private void SetupRules_Load(object sender, EventArgs e)
{
this.plataformasTableAdapter.Fill(this.plataformasDataSet.plataformas);
this.setupUrlConditionsTableAdapter.Fill(this.plataformasDataSet.SetupUrlConditions);
}
}
}
答案 0 :(得分:0)
private void PlatformasCBO_SelectedValueChanged(object sender, EventArgs e)
{
if (PlatformasCBO.SelectedValue != null)
{
SiteUrlLstBox.DataSource = this.platformasDataSet.SetupUrlConditions.Where( p => p.platforma_id == (int)PlatformasCBO.SelectedValue).ToList();
}
}
好的,你让我挖了那个,因为我在很长一段时间没有完成它... Combobox =平台。要设置的属性是DisplayMember = Plaformas,ValueMember = Id
ListBox只是displaymember = condicion?...由你决定。
请记住,始终使用此设置选择某些内容,需要将其修改为最初未选择任何内容但超出问题范围