问题标签 [datatable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
244 浏览

.net - .NET DataTable 的最佳用例是什么?

我有三个表客户,工作,订单

我在数据集中也有这些表,它符合与数据库本身相同的约束。

最初,我的意图是将数据保留在 DataSet 中,并创建各种 DataView 对象以向用户显示这些数据,并执行任何所需的操作,然后显然将使用 .NET TableAdapter 方法将其更新回数据库.

但是,似乎 DataView 对象只能对单个 DataTable 对象进行操作。

我的问题是:这是在内存中创建数据以确保可维护性和性能的最佳方式。

  1. 创建多个包含非规范化数据的 DataTable 对象。这可能会在内存中创建数据的副本,但我更担心在更改数据库时会出现问题。
  2. 创建一些自定义类,它按照我期望 DataView 的行为方式运行,并且还能够自动更新 DataSet(然后是数据库)。
0 投票
4 回答
14975 浏览

.net - 查找两个 .NET 数据表的交集

有没有一种相对简单的方法可以在 .NET 中获取两个 DataTables 的交集?

我可以想到明显的方法(我自己在 O(n^2) 中迭代这两个表),但如果它可用的话,我想要更优雅的东西。我怀疑可能有一种我没有看到的智能方式。当然,可读性和可维护性很重要,所以我试图远离任何过于“花哨”的东西。

有什么好主意吗?

编辑:看起来 Bryan Watts 为 3.5 提供了一个非常棒的解决方案,但不幸的是我在 .NET 2.0 中(我应该提到过。)

0 投票
3 回答
1457 浏览

c# - DataGridView - DataTable - 显示属性

(.NET 2.0、System.Windows.FormsDataGridView 和 DataTable)

我有 1 个数据网格连接到 1 个数据表。

该数据表包含 1 列:包含我自己类型“MyObject”的对象。
MyObject 有一个公共字符串属性“MyProp”。

我想在网格中显示 1 列:显示表中 MyObjects 的属性 MyProp 的字符串值。

但我似乎无法让它工作。

示意图:

  • myTable.Column1.Name:“对象”
  • myDataSet 包含 1 个表:myTable(填充了几行)
  • myBindingSource.datasource = myDataSet
  • myBindingSource.DataMember = myTable
  • myDataGridView.DataSource = myBindingSource
  • 在 myDataGridView: 1 DataGridViewTextBoxColumn

  • 试用一:

Column.DataPropertyName="Obj"(默认生成)

显示(覆盖)MyObject.ToString() 的结果 不是我想要的,这个函数用于记录。

  • 试玩2:

GridViewColumn.DataPropertyName="Obj.MyProp"

不显示任何内容(从未调用 MyProp 的get

  • 试用 3:使 MyProp 属性可绑定:

    相同,与试用 2 没有区别

简而言之:

GridViewColumn.DataPropertyName 似乎不支持进一步深入到数据表列中的对象。

有人有什么想法吗?

提前致谢!

0 投票
4 回答
25194 浏览

c# - 将列添加到绑定到 DataGridView 的 DataTable 不会更新视图

我有一个从 CSV 文件填充的 DataTable,然后使用 DataGridView 在内存中编辑数据。据我了解,数据的编程编辑应该在用户编辑完成的 DataTable 上完成。数据网格视图。

但是,当我以编程方式向 DataTable 添加列时,它不会自动反映在 DataGridView 中,我怀疑反之亦然。

你如何保持两者同时存在?我认为数据绑定的想法是这是自动的......

添加行也可以正常工作。


解决了:

尽管在属性对话框中(并在代码中明确设置),AutoGeneratedColumnsfalse在设计器代码中设置为。true初始列是以编程方式生成的,因此不应该出现,但是由于设计器代码还继续生成最初用于调试的“设计在”列,因此没有发现这一点。

道德:检查自动生成的代码!

除此之外,请参阅这篇文章这篇文章

0 投票
3 回答
12659 浏览

c# - 更改绑定到 DataGridView 的 DataTable 中的列顺序不会反映在视图中

当应用程序运行时,DataGridView绑定到一个DataTable. 后来我以编程方式添加更多列DataTable,它反映在基础数据中 - 即列序数应该是。然而,这并没有反映在DataGridView. 而是将列附加到最初生成的集合上。

这个例子表明,

按钮 1 生成列,按钮 2 添加列并将序号设置为 0,因此它应该在网格中排在第一位,按钮 3 显示列的序号并显示它们在DataTable.

0 投票
3 回答
33397 浏览

linq - 将数据集转换为 IQueryable或 IEnumerable

由于还没有 Linq to DB2(来吧 IBM!),并且我想在我的代码中处理 IQueryables 或 IEnumerables,我将如何将 DataTable 转换为 IQueryable?还是一个 IEnumerable?

我有一个接口和一个与数据表中的列匹配的类...

DataTable.Rows 不支持 .AsQueryable,因为 MSFT 取消了它,所以我不知道该怎么做。

0 投票
1 回答
2944 浏览

c# - VC# 2008:从 DataTable 中获取表名到 ComboList / 如何合并来自 2 个 MDB 的表?

我正在编写的程序的目的是由这个问题引起的:

有两个用户,每个用户保存到一个 .MDB 文件。一个用户拥有一半更新/正确的信息(另一半已过时),另一个用户拥有一半信息(另一半已过时)。

用户 1:25% + 25% = 50% 需要当前信息,另外 50% 已过时用户 1 处理 4 个项目中的 2 个。

用户 2:25% + 25% = 50% 需要当前信息,另外 50% 已过时用户 2 处理 4 个项目中的 2 个。

我需要从假设中提取 50%(4 个项目中的 2 个)...... User1 并将其添加到 User2 使其成为 100% 的当前(4 个项目中的 4 个)。

他们的 SQL 样式表结构(无论如何都应该)是相同的(但如果可能的话,我想提供一个事件,我会知道添加了一些新表)

如果我能找到如何从 DataTable 中获取所有表名,我可以通过 DataTable 系统地排列并用我知道需要更新的其他 .MDB 文件中的表替换这些表。我知道 DataSet 有“DataSet.Tables”……但这对我没有多大帮助。

如果我能做到这一点,我还可以将表格添加到组合框中,并在组合框所说的任何地方创建功能,这就是我将在我的 Datagrid 上列出的表格。

如果你们中的任何人对如何执行此操作有任何想法(或者如果您甚至理解我在说什么),请告诉我。我已经完成了这个项目的 70%,这些似乎是我最后的逻辑障碍。我想我解释得对。

  1. 如何仅列出 DataTable 对象中的表名称。
  2. 您对从 .MDB 文件中取出特定表并将它们添加到另一个 .MDB 文件有什么想法?
  3. 我将如何输入一个包含所有表名的 ComboList 下拉框...当我更改表名时,它会在 Datagrid 上列出这些内容。
  4. 有没有办法在 Datagrid 上列出表格,当您单击表格时,它会列出该表格的内容(有点像树结构)。

编辑:我认为他是对的!我认为 DataTables 只是一个表,而 DataSets 是一组表。考虑到这一点,如何将 .MDB 文件中的所有表列出到 DataSet 中?那将完美地解决我的问题。

0 投票
4 回答
3721 浏览

.net - 合并数据表列

您好我有两个数据表说:

表格1:

表 2:

我想合并这两个表以获得类似的东西

这可能吗?我尝试了合并,但它似乎不起作用,谢谢。


我不能做你们建议的原因是因为这两个数据来自两个不同的数据库(Oracle,SQL)。我不能使用链接服务器,因为速度不存在,您可以向我建议我可以以编程方式执行的操作吗?谢谢。

0 投票
2 回答
2720 浏览

asp.net - 数据表和 JavaScript

每次添加一行时,有没有办法避免使用 gridview 回发?

换句话说,我是否可以将 DataTable 存储在客户端并在完成保存后将其传递给服务器控件,而不是每次添加行时都进行回发?

我搜索和搜索......我能找到的只是 Web 服务、JSON,我觉得这里是多余的......这是一个简单的任务,我相信每个人都必须在某个时候做。

任何人都可以对此有所了解吗?

0 投票
1 回答
872 浏览

.net - 数据行更新 .NET

我对数据行以及如何更新它有疑问...

我有一个包含两列的数据表,id 和 name。我执行以下操作:

我在这里要做的是添加一个新的列“Fri”。然后对于数据表中已经存在的每个条目,我希望将 Fri 列中的值设为 4。感谢您的帮助。