ComboBox&列表框

时间:2017-06-01 18:10:45

标签: c# visual-studio combobox listbox

我有如下的DataSet设置:

enter image description here

可以看出,两个表之间存在关系。

在我的表单页面中,我有以下布局:

enter image description here

组合框只需选择“平台”,我想得到的是ListBox只显示属于该关系的记录,由 plataforma_id 过滤。

在表'SetupUrlConditions'的TableAdaptor中,我将其设置如下: enter image description here

当我运行应用程序时,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);

        }

}

}

1 个答案:

答案 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?...由你决定。

请记住,始终使用此设置选择某些内容,需要将其修改为最初未选择任何内容但超出问题范围