如何正确返回和处理数据集的数据视图 - 看到奇怪的结果

发布于 2024-11-27 03:25:57 字数 842 浏览 1 评论 0原文

我试图弄清楚如何正确返回数据视图。我注意到,如果我绑定到下面使用的结果数据视图,我不会得到任何结果。

    private DataView filterDocuments(DataSet documents, string classType)
{
    using (documents)
    {
        //filter it
        using (DataView documentsByType = new DataView(documents.Tables[0], String.Format("ClassName = '{0}'", classType), String.Empty, DataViewRowState.CurrentRows))
        {
            return documentsByType;
        }
    }
}

但是,如果我不处理我的数据视图,我可以看到我想要的结果。如何正确返回数据视图?

    private DataView filterDocuments(DataSet documents, string classType)
{
    using (documents)
    {
        //filter it
        return new DataView(documents.Tables[0], String.Format("ClassName = '{0}'",classType), String.Empty, DataViewRowState.CurrentRows);
    }
}

我不需要丢弃它吗?我是否造成了内存泄漏?我必须通过引用传递数据集吗?

非常感谢!

I'm trying to figure how to correctly return a dataview. I noticed that if I bind to the resultant dataview used below, I don't get any results.

    private DataView filterDocuments(DataSet documents, string classType)
{
    using (documents)
    {
        //filter it
        using (DataView documentsByType = new DataView(documents.Tables[0], String.Format("ClassName = '{0}'", classType), String.Empty, DataViewRowState.CurrentRows))
        {
            return documentsByType;
        }
    }
}

However, if I don't dispose of my dataview, I can see teh results I want. How can I properly return a dataview?

    private DataView filterDocuments(DataSet documents, string classType)
{
    using (documents)
    {
        //filter it
        return new DataView(documents.Tables[0], String.Format("ClassName = '{0}'",classType), String.Empty, DataViewRowState.CurrentRows);
    }
}

Do I not need to dispose of it? Am I creating a memory leak? Do I have to pass the dataset by reference?

Many thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

私野 2024-12-04 03:25:57

using(或调用 DataView.Dispose())的正确位置是您使用 DataView 的位置。它并不在这个地方处理它是有意义的。

The correct place for the using (or calling DataView.Dispose() would be wherever you are making use of the DataView. It doesn't make sense to dispose of it in this spot.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文