如何立即验证 Silverlight 3 Datagrid 中新插入的行?

2023-11-30

我有一个带有自定义 DataGrid 用户控件的 Silverlight 3 工具库。该网格无法直接访问 WCF RIA 服务实体类型,因此当用户在网格为空时单击网格时,我使用反射来添加新项目:

private void InsertEmptyRecord()
{
    if (this._dataGrid.ItemsSource == null)
        return;

    Type[] typeParameters = this._dataGrid.ItemsSource.GetType().GetGenericArguments();
    if (typeParameters.Count() > 0)
    {
        Type itemType = typeParameters[0];
        object newItem = System.Activator.CreateInstance(itemType);

        Type sourceType = typeof(System.Windows.Ria.EntityCollection<>);
        Type genericType = sourceType.MakeGenericType(itemType);
        System.Reflection.MethodInfo addMethod = genericType.GetMethod("Add");
        addMethod.Invoke(this._dataGrid.ItemsSource, new object[] { newItem });

        // == Validate data here ==
    }
}

这可行,但我需要它在添加新项目后也进行验证。我认为有两种方法可以做到这一点:

  1. 强制用户进入编辑模式 对于新行的第一个单元格 网格。 (这会迫使 如果他们点击任何地方进行验证 页面上的其他内容。)
  2. 强制验证 当新行出现时立即运行 添加(或者当网格松动时 重点。)

我无法让其中任何一个发挥作用。尝试过此操作,但它只选择行,不会强制运行验证:

this._dataGrid.SelectedItem = newItem;
System.ComponentModel.IEditableObject editableItem = newItem as System.ComponentModel.IEditableObject;
if (editableItem != null)
    editableItem.BeginEdit();

有什么建议么?


刚刚得到这个工作感谢一些帮助这个问题.

我将以下内容添加到上面代码中的“==在此处验证数据==”部分:

DataGridRow newRow = this._dataGrid.ChildrenOfType<DataGridRow>().FirstOrDefault();
if (newRow != null)
{
    newRow.Loaded += (sender, e) =>
    {
        this._dataGrid.CurrentItem = newItem;
        this._dataGrid.BeginEdit();
    };
}

这会强制第一个单元格立即进入编辑模式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何立即验证 Silverlight 3 Datagrid 中新插入的行? 的相关文章

  • Java - java.lang.NoSuchMethodException

    我尝试使用这段代码 Updatem set 在 for 循环内部使用 它会执行几种使用不同类型参数的方法 如果我添加例如 int classgetMethod 在一次迭代后我会得到错误 因为下一个方法需要 String class 是否可以
  • 尽管我可以在 DefinedTypes 中看到该类,但 Assembly.CreateInstance 返回 null

    我使用以下方法加载新的程序集并将类的实例创建到新的 AppDomain 中 private static object CreateInstanceFromBinary AppDomain appDomain string typeName
  • 编写具有多种类型的泛型扩展方法时的类型推断问题

    我正在为 IEnumerable 编写一个通用扩展方法 用于将对象列表映射到另一个映射对象列表 这就是我希望该方法的工作方式 IList
  • 如何将行变成列?

    我有一个数据库 其中存储分组到项目中的关键字以及与每个关键字相关的数据 然后我显示每个项目的数据网格 每个关键字一行和几列 全部从同一个表 数据 中检索 我有 4 个表 关键字 项目 group keywords 和数据 keywords
  • C# 中的空“if”语句是否会导致错误或警告?

    让我从一个现实生活中的例子开始 顾客 Alex 刚刚注意到 RemovalProcessor 第 138 行有一些奇怪的东西 if Session Handler ExecutePrefetchTasks null Session Exec
  • WPF Datagrid 循环/选择具有特定属性的单元格

    全新的 WPF 对 WinForms 非常熟悉 这可能会让过渡变得更加困难 我正在尝试将旧 WinForms 项目中的一些功能移植到 WPF 中作为学习体验 目标是在 DataGrid 中查找与 TextBox 中的字符串匹配的单元格值 我
  • Java注释处理器:检查TypeMirror是否实现特定接口

    我正在使用 Java 注释处理器 我的注释 foo用于标记可以在运行时读取到文件或从文件中读取的字段变量 但是 我想检查变量类型是否实现Serializable在编译时 这样如果该字段不可序列化 我可以在编译时给出警告 错误 我不需要实际检
  • GetFields 派生类型

    我试图反映派生类型中的字段 但它返回的是 基础类型 public class basetype string basevar public class derivedtype basetype string derivedvar 在某些函数
  • 反思 Groovy 脚本中声明的函数

    有没有一种方法可以获取 Groovy 脚本中声明的函数的反射数据 该脚本已通过GroovyShell目的 具体来说 我想枚举脚本中的函数并访问附加到它们的注释 Put this到 Groovy 脚本的最后一行 它将作为脚本的返回值 a la
  • 如何将字符串转换为任意类型

    我想将字符串转换为泛型类型 我有这个 string inputValue myTxtBox Text PropertyInfo propInfo typeof MyClass GetProperty myPropertyName Type
  • WPF 如何从 DataGrid 转换为 DataTable?

    嗨 我正在关注这个guide http www wpf tutorial com datagrid control details row 以了解如何使用 DataGrid 我遇到的问题是如何将 DataGrid 中的数据转换为 DataT
  • 如果您创建一个DomainService,公开一个实体,您可以访问聚合实体吗?

    假设您创建一个 RIA DomainService 并且包含一个Person 如下所示 其中的实体 您可以访问该对象上的聚合实体吗 例如 如果我有这样的实体 请记住 这是一个简单的表示 它们是通过 EF4 设计器建模的 public cla
  • Java 反射:如何检索匿名内部类?

    我在另一个类中有一个匿名内部类 SomeClass Both SomeClass class getClasses and SomeClass class getDeclaredClasses 返回空数组 我在中找不到一些关于此的提示Cla
  • PHP Reflection:如何知道方法/属性/常量是否从特征继承?

    我想从列表中排除特征的所有继承方法 在类中未被覆盖的那么如何知道一个类成员是否继承自trait呢 是的 我可以这样检查 if trait gt hasMethod methodName ref gt getTraitAliases meth
  • 将属性名称作为字符串传递到方法中 .NET

    我正在将 LINQ to SQL 用于 NET MVC 应用程序 在我的数据库中 我有一堆包含 Y 或 N 值的列 我正在尝试编写一个通用方法 该方法将返回数据库中的所有记录columnName Y 到目前为止我已经得到了这个 public
  • 是否可以打开包含类的 .txt/.java 文件,并对其使用反射?

    我的意思是 将其中包含 Java 代码的文件作为类而不是文件打开 所以基本上我想 gt 在自己编写的Java应用程序中打开纯文本文件 txt log java gt 识别文件中的类 例如 public class TestExample p
  • C# 3 新功能帖子(与 .Net 3.5 功能无关)[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions Net F
  • 如何在Java中通过反射调用代理(Spring AOP)上的方法?

    一个接口 public interface Manager Object read Long id 实现该接口的类 Transactional Public class ManagerImpl implements Manager Over
  • WPF DataGrid 选定项

    我有一个 DataGrid 用户可以通过在最后一行输入数据来添加项目 我还有一个按钮可以删除当前选定的项目 但是 当选择最后一行 空 用于添加新项目 时 最后选定的项目将保留在 SelectedItem 中 因此 如果我打开窗口 选择最后一
  • 调用泛型类的方法

    这是上下文 我尝试编写一个映射器来动态地将域模型对象转换为 ViewModel 对象 我遇到的问题是 当我尝试通过反射调用泛型类的方法时 出现此错误 System InvalidOperationException 无法对 Contains

随机推荐

  • C 中的最小值和最大值使用基础知识

    该程序应该在用户输入 0 时结束 然后显示计数 总和 平均值 最小值和最大值 我能够算出总和和平均值 但我的最小值和最大值不起作用 int main int number 0 int count 0 int sum 0 int averag
  • 添加自定义 DataGridViewColumn,每个单元格带有标签和按钮

    我想添加一个自定义DataGridViewColumn to my DataGridView 此列应在每行创建以下单元格 起初我创建了一个自定义UserControl创建一个带有按钮的标签 private class AllocationC
  • 从 JAR 中保存首选项

    我目前正在编写一个游戏 并且已经到了我需要用户能够保存诸如 JFrame 大小 键绑定等首选项的地步 用户将通过从我的网站下载的 jar 来运行游戏 我决定使用 java util prefs Preferences 下的 Preferen
  • 如何不断添加到JS变量?

    每次用户在框中输入值时 我都会尝试连续添加到 js 变量 到目前为止 如果他们输入 21 警报会说 您的余额是 12 英镑 但如果我输入 15 我希望它说您的余额是 27 但它会说 15 或者只是最新的数量 代码如下
  • 这个二进制文件传输有什么问题(损坏 docx 文件)?

    我已经尝试解决这个问题一个多星期了 可以really在一些帮助下做 我们使用 httprequest 将文件发布到 api 大多数文件都正常 但 docx 文件最终会损坏 经过大量研究后 我非常确定我在二进制帖子中做错了一些事情 即向文件添
  • 从电子表格中选择并复制一些值,与另一张工作表上的另一列进行比较

    我已阅读这两个链接Google 脚本 有条件地将行从一个电子表格复制到另一个电子表格 and https stackoverflow com a 4809413 1526044经过尝试后我无法做我需要的事情 我有一个电子表格 其中一张纸上有
  • 使用 eclipselink.media-type 值设置 Marshaller 属性时出现 PropertyException:application/json

    我正在尝试遵循位于的示例here但得到一个javax xml bind PropertyException 由于以下代码行 我收到此异常 marshaller setProperty eclipselink media type appli
  • iphone:Settings.bundle 返回空值

    我使用的是 xCode 3 2 然后转移到 xCode 4 2 并从 Settings bundle 获取一些值 它工作正常 同时 虽然我需要编辑 Settings bundle 中的一些值 但 Root plist 文件没有显示 所以我按
  • Django_filters 小部件自定义

    如何在 Django filters 中自定义小部件 我尝试这样做 但它在选择字段中的价值消失了添加小部件时的图像 当我删除小部件时 会显示该值删除小部件时的图像 抱歉我的英语不好 谢谢之前 class CustomerOrderFilte
  • 当 SwiftUI 已经导入合并时,为什么我还需要导入它?

    我正在尝试听 State变化并遵循这个答案 这是我的代码 import SwiftUI struct ContentView View State var isOn false var body some View Toggle Selec
  • C#/.NET/LINQ 的 Enumerable.All 方法的 Swift 等效项是什么?

    我想要一个将给定函数应用于序列并返回 true 的函数 当且仅当给定函数对序列的每个元素返回 true 时 例如可枚举 全部来自 C NET LINQ 世界 建立在乔恩的回答 您可以使用contains 而不是 显式 循环 extensio
  • read_html 编码错误

    我正在尝试网络抓取page 我想到使用 rvest 包 然而 我陷入了第一步 即使用read html来读取内容 这是我的代码 library rvest url lt http simec mec gov br painelObras r
  • 在 x86/x86_64 处理器上使用 LFENCE 指令是否有意义?

    我经常在互联网上发现LFENCE在 x86 处理器中没有任何意义 即它什么都不做 所以改为MFENCE我们可以绝对无痛地使用SFENCE 因为MFENCE SFENCE LFENCE SFENCE NOP SFENCE But if LFE
  • 在 R 中的多个分隔符处拆分字符串表达式

    我正在尝试解析 R 中的一些数学表达式 因此我想将它们分割为多个分隔符 等等 以便我获得表达式中包含的符号变量的列表 所以例如我想 2 x1 x2 3 x3 回来 x1 x2 x3 有没有好的方法呢 谢谢 您可以使用 R 解析器来查找表达式
  • 使用位置时防止元素显示在页脚顶部:固定

    我想使用CSS属性position fixed来固定元素的位置 但同时防止当用户滚动到页面底部时该元素位于我的页脚上方 有没有办法阻止元素以这种方式显示在页脚上 如果您希望有时固定元素而不是其他元素 则需要使用 JavaScript 来添加
  • 用于创建文件和日期的 csv 列表的 Windows 批处理文件

    我需要创建一个 Windows 批处理文件 该文件生成一个 csv 文件 其中包含目录中所有文件的三个字段 减去批处理文件本身 Fields 文件名 可以包含逗号 创建日期 修改日期 请注意 批处理文件将从目录运行 并且应该知道为当前目录中
  • Sql Server:索引列上的下部函数

    我发现一个大问题 我已将 Lower 函数添加到其中一个表的索引列中以获取数据 该表包含超过 100K 条记录 获取记录时 CPU 使用率达到 100 我无法理解 仅仅因为 Lower 函数 怎么会发生如此巨大的变化 请帮忙 如果您确实经常
  • 使用 strpos 进行多个搜索词匹配

    我想知道是否有人可以帮助解决我似乎无法解决的小问题 我的 此刻头在转圈 好的 我有一个包含大量信息行的 txt 文件 我正在尝试匹配关键字 与这些行并显示一定数量的匹配行 我将这段脚本放在一起 虽然它有效 但它只匹配一行 如果 单词的顺序与
  • 如何解决 AttributeError:“Resource”对象在 Google API 中没有属性?

    对于完整的上下文 我是脚本编写的新手 我正在尝试使用 Google 的 API 从 Google 管理员获取完整的用户列表 但我什至很难通过build 其中的一部分 无论我标记什么service它只是没有这个属性 除了close 我的最终目
  • 如何立即验证 Silverlight 3 Datagrid 中新插入的行?

    我有一个带有自定义 DataGrid 用户控件的 Silverlight 3 工具库 该网格无法直接访问 WCF RIA 服务实体类型 因此当用户在网格为空时单击网格时 我使用反射来添加新项目 private void InsertEmpt