- 积分
- 0
- 在线时间
- 10 小时
- 主题
- 2
- 注册时间
- 2013-9-15
- 帖子
- 10
- 最后登录
- 2013-12-2
- 帖子
- 10
- 软币
- 137
- 在线时间
- 10 小时
- 注册时间
- 2013-9-15
|
本帖最后由 小平 于 2013-10-25 10:55 编辑
求指点:
想实现的效果是:点击 gridView 单元格,动态生成一个下拉框盖住单元格,下拉框的内容根据该行第一列生成,当该单元格失去焦点,把选中的值赋给该单元格,下拉框隐藏。
----------------------------------------以下是我的代码------------------------------------------------------------------------------------------
string matNo= gridView4.GetRowCellValue(e.RowHandle, "MatNo").ToString();
int matId = bllMat.GetModelByNo(matNo,CommandType.Text).MatId;
var listColor = bllMatSub.GetList(CommandType.Text, matId.ToString());//matId
ArrayList str = new ArrayList();
foreach (var col in listColor)
{
if (!str.Contains(col.MatSubColId))
{
str.Add(col.MatSubColId);
}
}
Int32[] intcol = (Int32[])str.ToArray(typeof(Int32));
DevExpress.XtraEditors.ComboBoxEdit cbb = new ComboBoxEdit();
cbb.Location = e.Location;
ComboBoxItemCollection color = cbb.Properties.Items;
color.BeginUpdate();
for (var i = 0; i < intcol.Length; i++)
{
try
{
color.Add(new CmbInfo() { _key = intcol, _text = bll_color.GetModel(intcol, CommandType.Text).ColCName });
}
catch { }
}
color.EndUpdate();
cbb.SelectedIndex = -1;
cbb.Size = new Size(80, 50);
cbb.Visible = true;
cbb.Show();
cbb.ShowPopup();
----------------------------------------------------------上面是具体方法,下面是用到的结构-------------------------------------------------------------------------------------------------------------
struct CmbInfo
{
public int _key;
public string _text;
public CmbInfo(int key, string text)
{
_key = key; _text = text;
}
public override string ToString()
{
return _text;
}
}
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|