问题标签 [bindingsource]

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 投票
5 回答
39854 浏览

c# - C# 从 BindingSource 刷新文本框

我在刷新使用 BindingSource 对象的 Windows 窗体控件时遇到了困难。我们有一个 CAB/MVP/SCSF 客户端,我(实际上是“我们”,因为它是一个团队的努力)正在开发它将与远程服务器上运行的 WCF 服务进行交互。(这是我们第一次尝试,所以我们处于学习模式)。对服务的调用之一(来自 Presenter)返回一个包含 3 个 DataTables 的 DataSet,名为“Contract”、“Loan”和“Terms”。每个表只包含一行。当服务返回数据集时,我们将其存储在 SmartPart/View 中的类成员变量中,方法是调用视图中名为 BindData() 的函数并将数据集从演示者类传递给视图;

我们正在尝试将三个 DataTable 中的每一个绑定到各种 Windows 窗体 TextBox、MaskedEditBox 和 Infragistics UltraComboEditor Dropdown 组合框 我们使用 VS2008 IDE 创建了三个 BindingSource 对象,每个 DataTable 一个。

我们正在绑定这样的值

当我们第一次从服务中读取数据并取回数据集时,这很有效。信息显示在表单的控件上,我们可以使用表单对其进行更新,然后通过将更改后的值传递回 WCF 服务来“保存”它。

这是我们的问题。如果我们选择一个不同的贷款密钥并对服务进行相同的调用并获得一个新的数据集,同样有 3 个表,每个表有一行,控件(文本框、屏蔽编辑框等)不会使用新信息更新. 请注意,smartPart/View 没有关闭或关闭,而是在调用服务之间保持加载。在第二次调用中,我们没有重新绑定调用,而只是尝试从更新的 DataSet 中刷新数据。

我们已经尝试了我们能想到的一切,但显然我们缺少了一些东西。这是我们第一次尝试使用 BindingSource 控件。我们已经尝试过

以及再次重置 DataMember 属性。

我们看过很多例子。许多示例都引用了 BindingNavigator,但由于 DataTables 只有一行,我们认为我们不需要它。有很多关于网格的示例,但我们在这里没有使用一个。任何人都可以指出我们哪里出错了,或者指出我们可以提供更多信息的资源吗?

我们使用 VisualStudio 2008、C# 和 .Net 2.0、XP 客户端、W2K3 服务器。

提前致谢

韦斯

0 投票
1 回答
1908 浏览

vb.net - 是否可以在多列上使用 BindingSource.find?

是否可以在多列上使用 BindingSource.find?

我有一个树视图和一个组合框。组合框提供用于构建树视图的 ID。当我在树视图中选择一个节点时,我想显示来自组合框的 ID 的详细信息/子信息以及来自树节点的标签/ID 值。

做这个的最好方式是什么?我试图使用绑定到绑定源的控件。我想更改绑定源的位置,但是我需要在绑定源中搜索组合中的值以及我刚刚选择的树节点??????

0 投票
5 回答
10337 浏览

c# - 如何从绑定到 List 的绑定源中获取正确的映射名称,或匿名类型,在 DataGridTableStyle 上使用?

我正在尝试创建一个 DataGridTableStyle 对象,以便我可以控制 DataGrid 的列宽。我创建了一个绑定到列表的 BindingSource 对象。实际上,它绑定到通过 Linq 以下列方式创建的匿名类型列表(为了清楚我在做什么而更改了变量名称):

然后我创建一个 DataGridTableStyle 对象并将其添加到数据网格中。但是,它永远不会应用我设置的表格样式属性,因为我似乎无法设置正确的 myDataGridTableStyle.MappingName 属性。

我已经在 Google 上搜索了大约 1/2 小时,并且在一堆不同的论坛中不断看到指向同一个问题的链接(字面意思是相同的文本,就像有人刚刚复制并粘贴了这个问题......我讨厌那个......) . 无论如何,这些建议都不起作用,就像那个人在所有其他网站上所说的那样。

那么这里有人知道我需要将 MappingName 属性设置为什么才能让我的 TableStyle 真正正常工作吗?我可以从哪里获取名字?(它不能为空...仅适用于绑定到 DataTable 或 SqlCeResultSet 等的 BindingSource)。

我认为这可能是我使用 Linq 创建匿名、更专业版本的对象的问题,其中仅包含我需要的字段。我应该尝试将 BindingSource 直接绑定到 List 对象吗?或者甚至可能将 DataGrid 直接绑定到 List 对象并完全跳过绑定源。

谢谢

PS - C#,紧凑框架 v3.5

更新:

我在下面发布了一个答案,解决了我的问题。不管这是否是最好的方法,它确实奏效了。如果您遇到与我相同的问题,值得一看。

0 投票
3 回答
12697 浏览

vb.net - vb.net 中的 DataGridView、BindingSource 和排序

我正在模拟 VB.Net 中旧应用程序的功能。我的表单上有一个绑定到 BindingSource 的 DataGridView。我在工具栏上有一个按钮,它启动了一个排序对话框。排序对话框最多允许按 3 列排序。

所以我正在从对话框的结果中构建一个字符串,并用它设置 BindingSource.Sort 属性。但这不会更新我的 DataGridView。我错过了一步 - 我需要告诉一些东西来刷新吗?

0 投票
2 回答
6702 浏览

vb.net - 使用 BindingSource 对 ReportViewer 中的报表数据进行排序

我试图让 ReportViewer 显示来自 BindingSource (VB.Net Winforms) 的数据。

我在基础数据集上构建了报告。然后我将数据源实例配置为 BindingSource。我认为这将应用排序、过滤等。但看起来数据来自数据集而不是 BindingSource。

我怀疑我错过了一些简单的东西。

更新:或者也许它不是那么简单 - 我几天前发布了这个,但仍然没有人知道答案!也许我正在尝试做一些无法完成的事情?

0 投票
2 回答
331 浏览

c# - 调用 tableAdapter 的 Fill() 方法时如何防止 selectedValue 改变?

我已将我的 ListBox 绑定到一些数据。

问题是当我调用 myTableAdapter.Fill(..) 方法时,SelectedValue 更改为列表中的第一个项目 ID。尽管 VS 中的“选定值”未绑定到任何地方(见图)。 替代文字 http://img370.imageshack.us/img370/2548/ss20090108212745qz2.png

请问如何防止这种行为?

非常感谢您的帮助。

0 投票
2 回答
8930 浏览

vb.net - 检查 DataGridView/BindSource 是否已更改数据

我有一个带有 datagridview 和 bindingsource 的 WinForms 应用程序。我希望用户在将更改保存到数据库之前确认更改。

除非我知道用户进行了更改,否则我不想弹出确认对话框。所以我需要一种方法来检查是否进行了更改。有什么建议么?

0 投票
2 回答
228 浏览

data-binding - 数据绑定到特定记录

我有一个绑定到此表的 DataGridView:

网格直接绑定到类型化的数据集表。

我有第二张这样的桌子:

Records.UserID 使用外键连接到用户。

我想要做的是:当用户双击用户 #11 时,我打开一个新网格,绑定到 [Records] 表,但只绑定到 UserID = 11 的行。双击、获取 ID、新网格等这些都可以。如果我这样做与 sprocs 连接,我不会有任何问题,但我希望它被绑定,我根本不知道如何做到这一点。

你能给我一些想法吗?

0 投票
2 回答
1681 浏览

winforms - BindingSource.Filter 排除值 - 如何?

我的 BindingSource 绑定到一组对象(不使用 ADO.NET),我想过滤它并排除一些值,但不确定我是否正在使用它,因为我期望的结果集不会回来。我在想这样的事情,但它不起作用:

任何帮助将不胜感激!

0 投票
2 回答
4996 浏览

winforms - Empty BindingSource problem

I have a problem with binding data using BindingSource, typed dataset and DataGridView. My problem is: BindingSource, therefore grid, is empty after binding data (bindingSource.Count is 0). I couldn't figure out what I'm doing wrong and I'd be very happy if anyone could help me with this. My application structure is like this: I have two assemblies, one is Winforms UI and other is database class library.

UI

  • DataGridView, datasource as BindingSource
  • BindingSource, datasource = DBAssembly.typedDataset, datamember = DBAssembly.typedDataset.myTable

Database assembly

  • Sql Server CE database
  • Typed Dataset
  • DB class for database operations

UI Code

OnLoad

DB Code

constructor

BindData()

I'd appreciate any help with this.