从列表框中删除所选项目

时间:2015-06-23 08:56:54

标签: c# winforms linq listbox entity-framework-6

我在点击“删除引用”按钮时尝试从ListBox删除条目。现在我遇到的问题是,当我点击我的按钮时,没有正在发生。还有没有错误。

以下是代码段:

    private void btnDeleteQuote_Click(object sender, EventArgs e)
    {
        if (lbxQuoteNumber.SelectedItem == null)
            return;
        var quote = (ListBoxViewItem<Quote>)lbxQuoteNumber.SelectedItem;
        foreach (var qu in quote.Item.QuoteNumber) //<<-- I can even remove this line, but it still does not work
            lbxQuoteNumber.Items.Remove(quote);
    }

我在这里做了一些明显错误的事情,因为我无法理解发生了什么。我已经重新启动了我的应用程序和我删除的条目&#34;仍然显示,他们不会从我的数据库中删除。

任何帮助将不胜感激!谢谢!

编辑:以下是我填写lbxQuoteNumber

的编码
    private void lbxRepresentatives_SelectedIndexChanged(object sender, EventArgs e)
    {
        lbxQuoteNumber.Items.Clear();
        if (lbxRepresentatives.SelectedItem == null)
            return;

        var rep = (ListBoxViewItem<Represetative>)lbxRepresentatives.SelectedItem;
        foreach (var qu in rep.Item.Quotes)
            lbxQuoteNumber.Items.Add(new ListBoxViewItem<Quote>(qu, qu.QuoteNumber));
    }

我正在引用我在后台运行的另一个Web服务中的所有类/表。这可能是问题所在,我应该在那里创建删除功能(代码优先),还是可以从我ListBox所在的程序中删除我的数据?

2 个答案:

答案 0 :(得分:0)

我认为您并未将更改提交给数据库:

lbxQuoteNumber.SaveChanges();  
删除项目后

编辑:或者在适当的对象上调用它,如果&#34; lbxQuoteNumber&#34;不是您的数据库上下文对象:)

答案 1 :(得分:0)

您还需要将其从数据库中删除,因为您没有提供任何代码来处理您的数据库,并向您展示我的工作。

dbContext.Quotes.Remove(quoteObject);
dbContaxt.SaveChanges();