所有常用的ComboBox方法
2014-12-31 13:54:01 访问(1700) 赞(0) 踩(0)
/// <summary>
/// ComboBox添加不重复的Text项
/// </summary>
/// <param name="cbb"></param>
/// <param name="_text"></param>
public void ComboBoxAddNoRepeatText
(
ComboBox cbb,
string _text
)
{
if (_text == null || _text.Length == 0)
return;
int iCount = cbb.Items.Count;
for (int i = 0; i < iCount; ++i)
{
if (cbb.Items[i].ToString() == _text)
return;
}
cbb.Items.Add(_text);
}
/// <summary>
/// ComboBox添加通过Int范围值添加项
/// </summary>
/// <param name="cbb"></param>
/// <param name="minValue"></param>
/// <param name="maxValue"></param>
public void ComboBoxInitByInt
(
ComboBox cbb,
int minValue,
int maxValue
)
{
for (int i = minValue; i <= maxValue; ++i)
{
cbb.Items.Add
(
new ComboBoxItem
(
i.ToString(),
i.ToString()
)
);
}
}
/// <summary>
/// ComboBox添加项
/// </summary>
/// <param name="cbb"></param>
/// <param name="_text"></param>
/// <param name="_value"></param>
public void ComboBoxAdd
(
ComboBox cbb,
string _text,
string _value
)
{
cbb.Items.Add
(
new ComboBoxItem
(
_text,
_value
)
);
}
/// <summary>
/// ComboBox添加项
/// </summary>
/// <param name="cbb"></param>
/// <param name="_text"></param>
/// <param name="_value"></param>
public void ComboBoxAdd
(
ComboBox cbb,
string _text,
string _value,
object _tag
)
{
cbb.Items.Add
(
new ComboBoxItem
(
_text,
_value,
_tag
)
);
}
/// <summary>
/// 通过DataTable数据源初始化ComboBox
/// </summary>
/// <param name="cbb"></param>
/// <param name="dt"></param>
public void ComboBoxInitByBasicDataTable
(
ComboBox cbb,
DataTable dt
)
{
cbb.Items.Clear();
int iCount = dt.Rows.Count;
if (iCount == 0)
return;
DataRow dr = null;
for (int i = 0; i < iCount; ++i)
{
dr = dt.Rows[i];
cbb.Items.Add
(
new ComboBoxItem
(
dr[DataColumnName.TheName].ToString(),
dr[DataColumnName.ID].ToString()
)
);
}
cbb.SelectedIndex = 0;
}
/// <summary>
/// 通过DataTable数据源初始化ComboBox
/// </summary>
/// <param name="cbb"></param>
/// <param name="dt"></param>
/// <param name="TextField"></param>
/// <param name="ValueField"></param>
public void ComboBoxInitByBasicDataTable
(
ComboBox cbb,
DataTable dt,
string TextField,
string ValueField
)
{
cbb.Items.Clear();
int iCount = dt.Rows.Count;
if (iCount == 0)
return;
DataRow dr = null;
for (int i = 0; i < iCount; ++i)
{
dr = dt.Rows[i];
cbb.Items.Add
(
new ComboBoxItem
(
dr[TextField].ToString(),
dr[ValueField].ToString()
)
);
}
cbb.SelectedIndex = 0;
}
/// <summary>
/// 通过string数组添加ComboBox的子项
/// </summary>
/// <param name="cbb"></param>
/// <param name="theList"></param>
public void ComboBoxInitByListString(ComboBox cbb, List<string> theList)
{
foreach (string s in theList)
{
cbb.Items.Add(s);
}
}
/// <summary>
/// 通过string类型的值,设置ComboBox的选中
/// </summary>
/// <param name="cbb"></param>
/// <param name="theValue"></param>
/// <returns></returns>
public int ComboBoxSetSelectedByStringValue(ComboBox cbb, string theValue)
{
int iCount = cbb.Items.Count;
ComboBoxItem item = null;
for (int i = 0; i < iCount; ++i)
{
item = cbb.Items[i] as ComboBoxItem;
if (item == null)
continue;
if (item.Value == theValue)
{
cbb.SelectedIndex = i;
return i;
}
}
return -1;
}
/// <summary>
/// 获得ComboBox选中的值(string类型)
/// </summary>
/// <param name="cbb"></param>
/// <returns></returns>
public string ComboBoxGetSelectedStringValue(ComboBox cbb)
{
ComboBoxItem item = cbb.SelectedItem as ComboBoxItem;
if (item == null)
{
throw new Exception
(
"方法:"
+ MethodBase.GetCurrentMethod().ReflectedType.FullName
+ " "
+ MethodBase.GetCurrentMethod().ToString()
+ " 发生异常:" + "ComboBoxItem item = cbb[" + cbb.Name + "].SelectedItem as ComboBoxItem; 为null");
}
return item.Value;
}
/// <summary>
/// 获得ComboBox选中的值(int类型)
/// </summary>
/// <param name="cbb"></param>
/// <returns></returns>
public int ComboBoxGetSelectedIntValue(ComboBox cbb)
{
ComboBoxItem item = cbb.SelectedItem as ComboBoxItem;
if (item == null)
{
throw new Exception
(
"方法:"
+ MethodBase.GetCurrentMethod().ReflectedType.FullName
+ " "
+ MethodBase.GetCurrentMethod().ToString()
+ " 发生异常:" + "ComboBoxItem item = cbb[" + cbb.Name + "].SelectedItem as ComboBoxItem; 为null");
}
return int.Parse(item.Value);
}
/// <summary>
/// 获得ComboBox选中的值(long类型)
/// </summary>
/// <param name="cbb"></param>
/// <returns></returns>
public long ComboBoxGetSelectedLongValue(ComboBox cbb)
{
ComboBoxItem item = cbb.SelectedItem as ComboBoxItem;
if (item == null)
{
throw new Exception
(
"方法:"
+ MethodBase.GetCurrentMethod().ReflectedType.FullName
+ " "
+ MethodBase.GetCurrentMethod().ToString()
+ " 发生异常:" + "ComboBoxItem item = cbb[" + cbb.Name + "].SelectedItem as ComboBoxItem; 为null");
}
return long.Parse(item.Value);
}
/// <summary>
/// 获得ComboBox选中的值(long类型)
/// </summary>
/// <param name="cbb"></param>
/// <param name="defaultValue"></param>
/// <returns></returns>
public long ComboBoxGetSelectedLongValue(ComboBox cbb, long defaultValue)
{
ComboBoxItem item = cbb.SelectedItem as ComboBoxItem;
if (item == null)
{
return defaultValue;
}
return long.Parse(item.Value);
}
/// <summary>
/// 获得选中的Tag
/// </summary>
/// <param name="cbb"></param>
/// <returns></returns>
public object ComboBoxGetSelectedTag(ComboBox cbb)
{
ComboBoxItem item = cbb.SelectedItem as ComboBoxItem;
if (item == null)
return null;
return item.Tag;
}
/// <summary>
/// 设置索引(如果索引越界,则直接返回,避免异常)
/// </summary>
/// <param name="cbb"></param>
/// <param name="selectedIndex"></param>
public void ComboBoxSetSelectedIndex
(
ComboBox cbb,
int selectedIndex
)
{
if (cbb == null || cbb.Items.Count == 0)
return;
if (selectedIndex < 0 || selectedIndex >= cbb.Items.Count)
return;
cbb.SelectedIndex = selectedIndex;
}
标签:
所有常用的ComboBox方法 


上一条:
下一条:
相关评论
发表评论