gridView单元格 动态绑定不同的下拉框
本帖最后由 小平 于 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;
}
}
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
本帖最后由 nyfor 于 2013-10-25 13:28 编辑
使用 ComboBoxEdit 作为其编辑器,然后在ComboBoxEdit的 QueryPopup 事件中去设定 ComboBoxEdit的 Items 集合即可.
在该事件中获取当前行的指定列数据可用 gridView1.GetFocusedRowCellValue 函数. 刚试了我说的,发现在QueryPopup事件中设置Items集合的值没有用.
还是建议你用 LookupEdit, 通过绑定 BindingSource 来实现. nyfor 发表于 2013-10-25 13:54
刚试了我说的,发现在QueryPopup事件中设置Items集合的值没有用.
还是建议你用 LookupEdit, 通过绑定 Bindi ...
谢谢回贴谢谢 nyfor!
我没找到 gridView1.GetFocusedRowCellValue 函数,我用的是9.2.6版本的,与这个有关系吗? 小平 发表于 2013-10-25 19:57
谢谢回贴谢谢 nyfor!
我没找到 gridView1.GetFocusedRowCellValue 函数,我用的是9.2.6版本的,与这 ...
已用其它方法解决了,谢谢 小平 发表于 2013-10-26 05:03
已用其它方法解决了,谢谢
在GridView 中绑定 ComboBoxEdit ,如何实现啊?好像与dataGridView 中绑定Combobox 不一样哦,请大家指教
页:
[1]