combox失去焦点的时候,怎么判断combox的Text值在combox的下拉列表中是否存在?

toploveall 2008-06-05 08:08:08
private void GetCmbDateKBNValue()
{
DataTable m_dtSetDate = new DataTable();
m_dtSetDate.Columns.Add("CODE");
m_dtSetDate.Columns.Add("NAME");

m_dtSetDate.Rows.Add();
m_dtSetDate.Rows[0]["CODE"] = "0";
m_dtSetDate.Rows[0]["NAME"] = "0 当日";
m_dtSetDate.Rows.Add();
m_dtSetDate.Rows[1]["CODE"] = "1";
m_dtSetDate.Rows[1]["NAME"] = "1 前営業日";
m_dtSetDate.Rows.Add();
m_dtSetDate.Rows[2]["CODE"] = "2";
m_dtSetDate.Rows[2]["NAME"] = "2 前々営業日";
m_dtSetDate.Rows.Add();
m_dtSetDate.Rows[3]["CODE"] = "3";
m_dtSetDate.Rows[3]["NAME"] = "3 営業3日前";
m_dtSetDate.Rows.Add();
m_dtSetDate.Rows[4]["CODE"] = "4";
m_dtSetDate.Rows[4]["NAME"] = "4 営業4日前";
m_dtSetDate.Rows.Add();
m_dtSetDate.Rows[5]["CODE"] = "5";
m_dtSetDate.Rows[5]["NAME"] = "5 営業5日前";
m_dtSetDate.Rows.Add();
m_dtSetDate.Rows[6]["CODE"] = "6";
m_dtSetDate.Rows[6]["NAME"] = "6 営業6日前";
m_dtSetDate.Rows.Add();
m_dtSetDate.Rows[7]["CODE"] = "7";
m_dtSetDate.Rows[7]["NAME"] = "7 営業7日前";

cmbDateKBN.DataSource = m_dtSetDate;
cmbDateKBN.DisplayMember = "NAME";
cmbDateKBN .ValueMember = "CODE";
cmbDateKBN .SelectedValue = "0";

}

这是combox下来列表的值,请问我怎么判断我往combox中输入一个值,判断它是否在这个列表中呢。
如果不存在,弹对话框提示。
...全文
319 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tom8787263 2011-12-07
  • 打赏
  • 举报
回复
combox.DroppedDown=true
chensxn 2008-06-05
  • 打赏
  • 举报
回复
连到Datasource的combox不能输入值吧,只能选
toploveall 2008-06-05
  • 打赏
  • 举报
回复
忘了说了,还要定义isNotHave的初始值。
bool isNotHave =true;
toploveall 2008-06-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 SuperTyro 的回复:]
主要是用 items 集合中 通过 [] 来循环访问 再比较就好拉

或者 用items 里面的 indexof 方法 可以检查集合中是否有
没有找到返回-1 找到返回索引

基本可以达到你想要的要求了吧


我是小菜鸟! 说的不好清见谅, 希望能够帮到你!
[/Quote]

for (int i = 0; i < this.cmbDateKBN.Items.Count; i++)
{
if (str.Equals(this.cmbDateKBN.Items.IndexOf(i)))
{
isNotHave = false;
}
}
if (isNotHave)
{
MessageBox.Show("不存在", mdlConst.TITLE_INPUT_CHECK,MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
cmbDateKBN.Focus();
cmbDateKBN.SelectionStart = 0;
cmbDateKBN.SelectionLength = cmbDateKBN.Text.Length;
}
是这样吗,不对。
ttgss 2008-06-05
  • 打赏
  • 举报
回复
这不是有了个 m_dtSetDate 直接比较这个不databel不行吗?
SuperTyro 2008-06-05
  • 打赏
  • 举报
回复
主要是用 items 集合中 通过 [] 来循环访问 再比较就好拉

或者 用items 里面的 indexof 方法 可以检查集合中是否有
没有找到返回-1 找到返回索引

基本可以达到你想要的要求了吧


我是小菜鸟! 说的不好清见谅, 希望能够帮到你!

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧