combox控件中我设置了“0“,”1“,”2“这三个数,直接调用没有问题,然后有人就直接在combox里面输入1,发现系统报错说是类型错误。然后我想算了,直接用DropDownStyle中的DropDownList让你不能输入就是了。结果boss表示要给别人一个默认值。找了半天都没找到方法解决。。希望各位可以帮我一下,谢谢
1.将手动输入的数据变成string类型,不过说是数组不好变(新手不懂这个怎么变)
2.将DropDownList的值显示出一个默认的值。
3.或者有更好的解决方法期待
希望各位可以随便帮我实现上面3种中的一种。谢谢控件
1.将手动输入的数据变成string类型,不过说是数组不好变(新手不懂这个怎么变)
2.将DropDownList的值显示出一个默认的值。
3.或者有更好的解决方法期待
希望各位可以随便帮我实现上面3种中的一种。谢谢控件
combobox里面的Text里面的数值是多少 ?
右边 Convert.ToInt32() int类型+ Convert.ToInt32() int 类型左右两边可以相等吗?
2。默认值的问题,设置SelectedIndex属性值,至于你出现的那个错误,说明你输入的不是数字或者说不是int类型的数字,如果你输入的是1,按照你的代码是不会出现这个错误的
ASCII码不同?
2。默认值的问题,设置SelectedIndex属性值
Convert.ToInt32(Commobox.Text.Trim());
看你截图,貌似中间有空格,
选项少的话做个if判断试试.
你的不是数组么,或者这样将值添加到dropdownlist中试试: foreach (var item in dtpro)
{
alpro.Add(new DictionaryEntry(item.Key, item.Value));
}我前几天做一个例子是这么做的
其实这个可以选择一个折中的方法,就是在转换为Int之前先判断一下combobox.Text.Trim()是否是以"-"开头的,如果是,则只需要转换后面的数字,然后将"-"加上就好了。
至于全角半角数字的问题,一般是给用户一个友好提示,如果非要输入的话,你可以找一下相关的转换方法。
int.trypase()
/// 加载ComboxBox数据
/// </summary>
/// <param name="cb"></param>
/// <param name="data"></param>
public static void LoadComboxBoxData(ComboBox cb, DataTable data)
{
DataRow row = data.NewRow();
row["F_Key"] = 0;
row["F_Name"] = "[请选择]";
data.Rows.InsertAt(row, 0);
cb.DataSource = data;
cb.DisplayMember = "F_Name";
cb.ValueMember = "F_Key";
}/// <summary>
/// 得到选中下拉列表的key值
/// </summary>
/// <param name="cb"></param>
/// <returns></returns>
public static string GetSelectedComboxBoxValue(ComboBox cb)
{
return ((DataRowView)cb.Items[cb.SelectedIndex])["F_Key"].ToString().Trim();
}
有其他需要自己重载吧