1
2
我自己做了一个测试,我想你可能在寻找的是错误的事件(甚至可能是错误的对象)。 我刚尝试将事件添加到currencymanager对象(cmusers)的positionChanged处理程序中,它的工作方式与预期完全相同。我唯一的问题是,这是第一次加载,它没有击中位置改变,所以第一个项目从来没有绑定到标签(我相信有一个更容易的解决办法)。 http://msdn.microsoft.com/en-us/library/system.windows.forms.bindingmanagerbase.positionchanged.aspx 运行了一个小测试,以查看哪个事件首先被激发,并且似乎是在positionChange之前激发的SelectionChangeCommitted事件,这意味着currencyManager尚未更新其内部位置,因此行:
提取错误的数据行。 忘记第二期了。大多数控件不处理按键,因此应该绑定onkeydown或onkeypress事件以运行所需的任何函数(查找与类型化对象关联的索引[ie.findstring()],并将ComboBox.SelectedIndex属性设置为找到的索引,否则将闪烁警告)。例如:
编辑 在阅读了你的评论之后,我想出了一个更简单的方法来进行验证。在组合框的“按键”事件中,使用以下代码:
不要大惊小怪,不要弄脏了。由于我们仅限于列表中的项目,因此在按Enter键时不需要进行处理,因为它会自动更改所选项目(但是,运行一些验证以确保情况正确,或者只在按Enter键时手动更改SelectedIndex属性不会造成伤害)。 不过,希望这能帮上忙。 |
2
0
对于你的第二个问题,我通常采用的两种方法是
|
3
0
尝试以下操作: 手动创建一个绑定对象,这样您就有了对它的引用。使用绑定对象绑定到组合框的SelectedItem属性。我想这应该能让你得到选定的数据行。将该绑定对象添加到标签的数据绑定集合中。 处理binding.format事件(或者它可能是parse-can't must member which event applied when binding in which direction),并使用在event args对象中接收的datarow对象来形成一个包含名字和姓氏的适当名称字符串。您需要将EventArgs的其他一些属性设置为该字符串。 您可能还必须使用绑定类的FormattingEnabled属性-我上次这样做已经有一段时间了,我只是记得这有点棘手。 有关分析和格式化事件的信息,请参阅文档: http://msdn.microsoft.com/en-us/library/system.windows.forms.binding_events.aspx |
4
0
好吧,您可以更改SQL,将名称和姓氏作为一列,然后绑定到该列一次。另外,我将把组合和标签放在Ajax更新面板中。 关于验证:要在客户机上验证,您需要提前在客户机上获取所有可能的值,或者对每个字符进行回发,并使用一个(这可能不是一个好主意-杀死服务器)命中SQL:
自动完成框是否可以接受?看一看 jQuery `例如,自动完成框。 |
5
0
通常,当您更改选择和 把你的注意力转移到外面 如单击外部或按Tab键… 如果您需要立即触发它,则应通过查找其他事件或调用事件 javascript onchange事件 等。 |
Robert King · Unity C#语法问题-转换位置 1 年前 |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
i_sniff_ket · 在unity之外使用unity类 2 年前 |