- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我无法获取当前行值。我该怎么办?
bindingSource1.DataSource = LData; (LData is Generic List)
public DataRow currentRow
{
get
{
int position = this.BindingContext[bindingSource1].Position;
if (position > -1)
{
return ((DataRowView)bindingSource1.Current).Row;
}
else
{
return null;
}
}
}
我无法通过 :
获取当前行 MessageBox.Show(currentRow["NAME"].ToString());
出现错误:InvalidCastException,我该怎么办?谢谢。
最佳答案
你不能指望拥有 DataRow
bindingSource1.Current
中的对象如果你设置 DataSource
到 List<T>
而不是 DataTable
.在你的情况下 bindingSource1.Current
将包含通用类型的实例。
我想你是这样初始化 LData 的:
LData = new List<T>();
属性应该如下所示:
public T currentRow
{
get
{
int position = this.BindingContext[bindingSource1].Position;
if (position > -1)
{
return (T)bindingSource1.Current;
}
else
{
return null;
}
}
}
您可以像这样读取值(假设 Name
是 T
的属性):
MessageBox.Show(currentRow.Name);
当然没有测试过,但像这样的东西应该可以工作。使用以下行中的调试器查看 Current
的内容属性实际上是这样的:
return (T)bindingSource1.Current;
关于c# - BindingSource 获取当前行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11376053/
我注意到这两种在 winforms 中实现数据绑定(bind)的方法。但是,我想知道其中哪一种更受欢迎(在整体性能方面,例如设计时间,效率?据我所知,这两种是: BindingSource 作为 Bi
是什么让我使用这样的东西: DataGridView dgvDocuments = new DataGridView(); BindingSource bindingSource = new Bind
我有一个带有数据 GridView 和一些绑定(bind)到绑定(bind)源的文本框的表单。表单上有一个新建按钮和保存按钮。我希望用户 单击“新建”按钮,这将导致网格转到新行并且文本框变为空白(因为
我想我很了解 BindingSource 类的作用——即在数据源和 UI 控件之间提供一层间接。它实现了 IBindingList 接口(interface),因此还提供了对排序的支持。而且我已经使用
我无法获取当前行值。我该怎么办? bindingSource1.DataSource = LData; (LData is Generic List) public DataRow currentRo
绑定(bind)源代码: Component.DataSource = new BindingSource(yourSource, ????); 我看到的所有示例都遵循这种模式,而不是 ????,我总
是否可以在多个列上使用 BindingSource 的 Find 方法? 例如,假设我有一个显示当前宠物的 GridView ;两个组合框,cboPetType 和 cboGender;以及一个用于根
我正在尝试绑定(bind)到 Linq-To-SQL 查询的结果,我已将其设置为填充图形。 该图沿着 X 轴的日期线和 Y 轴的货币线。有两个系列,一个是进钱的,一个是出钱的。 到目前为止还很简单。
我遇到的问题是过滤器不接受日期时间的时间部分。 为了清楚起见, 这有效。 " AND NextWorkDate <= #" + DateTime.Now.AddDays(1).ToString("dd
我的winform中有很多bindingsource,我想动态改变我的gridview的dataSource,所以我想通过名称获取bindingSource。我找到了以下代码来从我的 winform
我想根据日期从数据库中过滤值。 数据库中的日期包含如下值:2008-12-28 18:00:00。我的类(class)有一个 DateTime 变量,具体取决于我要过滤的内容。理想情况下它会像这样工作
为了解释这个问题,我把所有需要的东西都放到了一个小的示例应用程序中,希望能解释这个问题。我真的试图尽可能减少所有内容,但在我的实际应用程序中,这些不同的 Actor 彼此不认识,也不应该。因此,像“在
我有一个 C# Windows 窗体项目,其中包含一个包含 2 个列表框和一个按钮的窗体。 在 FormLoad 上,左侧 ListBox 填充了一个列表(大约 1800 项),其中包含有关证券(ID
使用绑定(bind)到绑定(bind)源控件的 datagridview 绑定(bind)到 LINQ to SQL类,我想知道如何将 bindingSource 定位到特定记录,也就是说,当我在文本
我有一个绑定(bind)到 DataTable 的 BindingSource。 我使用 BS 过滤器并希望使用 Bindingsource 迭代数据表的过滤数据集。 我知道我可以执行 MoveFir
这是我正在处理的表单部分: 以下代码使用 bindingSource 将 BindingNavigator 链接到数据集。我可以使用此绑定(bind)源将两个文本框连接到数据吗? 我是否只需要使用文本
我正在考虑使用数据绑定(bind) - 最简单的事情似乎是使用 BindingSource 来包装我的数据对象。 但是,虽然 CurrentItemChanged 事件会告诉我属性何时发生更改,但它不
这是我正在处理的表单部分: 以下代码使用 bindingSource 将 BindingNavigator 链接到数据集。我可以使用此绑定(bind)源将两个文本框连接到数据吗? 我是否只需要使用文本
来自微软:“BindingSource.ListChanged 事件在基础列表更改或列表中的项目更改时发生”。 但在我的示例中,事件会在每次位置更改时触发。表单有一个 UserControl、一个 B
我有一个只有 1 个对象作为数据源的 BindingSource。 我绑定(bind)了数据源上的一些值。这非常有效。 但是。 当我这样做时: bindingSource.DataSource = n
我是一名优秀的程序员,十分优秀!