我有一个插入客户端表单,允许我的管理员将客户端插入到数据库表中。
我的客户端表包含以下列: 1) c_id 2) c_name 3) c_address 4) c_contactinfo 5) c_refno 6) c_profileinfo 7) staff_id
我还有另外一张桌子,叫做职员桌子。在staff表中,数据库包含以下列: 1) u_id 2) username 3) u_password 4) role
*注意,员工id和u_id是一回事。
我正在尝试做的是,为我的textBox_staffid.Text创建某种类型的验证,以便它只允许数据库中存在的员工id号。例如,如果员工id仅到5,则用户不能输入6作为员工id。
请帮帮我!
发布于 2013-01-28 21:58:37
为什么不使用ComboBox,这样就不需要验证了?
在检索到的List<Staff>
List<Staff>
SelectedValue
和SelectedValue中检索
ComboBox ItemsSource这样,您将只能选择现有的人员ID。
令人兴奋的是,您可以将其作为Dictionary<T1, T2> StaffMembers属性来绑定您的ComboBox ItemsSource。
对于WPF:
XAML:
<ComboBox ItemsSource={Binding StaffMembers} SelectedValuePath="Key" DisplayMemberPath="Value" />代码隐藏:
List<Staff> staffList = dbContext.Staff.ToList().Distinct();
foreach(Staff s in staffList) {
StaffMembers.Add(s.u_id, s.u.username);
}发布于 2013-01-28 21:35:16
您可以尝试附加到textbox的Leave事件,并在其中查询数据库(或已创建的表的缓存),以查看textbox中的值是否在staff表中。如果它不在表中,您可以将焦点重新放在staffid文本框上,这样他们就必须输入一个有效的ID。
https://stackoverflow.com/questions/14562938
复制相似问题