0

我想将大量数据(文本)存储在一个有六列和多达一万行的表中。

我将以编程方式构建表格。(意思是我希望能够随时添加行)

数据表是我最好的选择吗?我打算将它绑定到 ASP.NET 的 Telerik Grid Control

我想知道我最好参加另一种我不知道的课程。

我将使用控件功能进行排序和分页,但我不知道这对底层对象是否过于重要。

当我说效率时,应该考虑检索,然后是存储,然后是程序员的时间。

4

4 回答 4

4

我将创建一个具有代表这六行的属性的类,然后在列表中使用它。很快:

public class Result
{
    public string Title { get; set; }
    public double Score { get; set; }
    public string Summary { get; set; }
    // etc.

    public Result(string title, double score, string summary)
    {
        Title = title;
        Score = score;
        Summary = summary;
    }

    public Result() { }
}

public class Test
{
    public static IList<Result> GetResults()
    {
        List<Result> results = new List<Result>();

        results.Add(new Result("First result", 0.914, "This is the summary"));
        results.Add(new Result("Second result", 0.783, "More summary...."));
        results.Add(new Result { Title = "Third", Score = 0.54, Summary = "Anonymous I am..." });
        // etc
        return results;
    }
}

然后,您可以枚举 List 集合或将其绑定到数据绑定控件或将其与 LINQ 等一起使用。

于 2009-08-06T22:54:02.197 回答
2

首先,按照 Dan Diplo 的描述去做。DataTable 是 DataSet 类的基础数据结构。数据集因内存使用效率低而臭名昭著。

其次,为了保持快速:不要将所有 10,000 条记录都返回到一页上。在分页网格中一次显示一个子集(如 20 个)。您必须传递和解析的数据越少越好。

接下来,如果可能,关闭网格上的视图状态。ViewState 可以扩大您的页面大小(在某些情况下是 2 倍或更差)。这对于浏览器(查看页面)和服务器(必须重新加载所有 ViewState 数据)都是一个问题。尽量避免它。

如果您必须拥有 ViewState,并且性能仍然存在问题,请将 ViewState 移动到服务器,因此它不会传递给浏览器。

于 2009-08-06T23:08:37.630 回答
1

如果您想在多用户环境中的编程时间或检索时间方面提高效率,您应该考虑使用 SQL Server。

于 2009-08-06T22:13:29.813 回答
0

使用数据库。

于 2009-08-06T23:26:29.840 回答