还在苦苦敲代码开发APP?你out啦! 试试积木搭建APP吧~

cgridctrl 单元格下拉,单元格事件

来源:清泛原创     2016-06-15 11:26:57    人气:     我有话说( 0 人参与)

cgridctrl单元格下拉框选中后,需要根据选中的数据进行联动,但是这个下拉框是一个CGridCellCombo对象,无法直接为它绑定事件。这时我们可...

cgridctrl单元格下拉框选中后,需要根据选中的数据进行联动,但是这个下拉框是一个CGridCellCombo对象,无法直接为它绑定事件。这时我们可以考虑的实现方法是:下拉选中后,整个Grid完成了编辑,这时可以在Grid的EndEdit事件中处理我们的逻辑。


代码如下:
ON_NOTIFY(GVN_ENDLABELEDIT, IDC_TACTICS_DETAIL_GRID, OnGridEndEdit)
...

afx_msg void OnGridEndEdit(NMHDR *pNotifyStruct, LRESULT* pResult);
...

void CTacticsSetDlg::OnGridEndEdit(NMHDR *pNotifyStruct, LRESULT* pResult)
{	
	NM_GRIDVIEW* pItem = (NM_GRIDVIEW*) pNotifyStruct;
	if(pItem->iRow >0 || pItem->iRow < m_gridDetail.GetRowCount())
	{
		if(2 == pItem->iColumn) //列号
		{
			//do something.
		}
	}

	*pResult = 0;
}

另外,附上单元格下拉的代码:

#include "GridCtrl_src/GridCellCombo.h"
...
CStringArray m_productArry;
...

m_gridDetail.SetCellType(item,0,RUNTIME_CLASS(CGridCellCombo));
CGridCellCombo*pCell = (CGridCellCombo*)m_gridDetail.GetCell(item,0);
pCell->SetOptions(m_productArry);
pCell->SetStyle(CBS_DROPDOWNLIST);
if (m_productArry.GetSize() > 0)
	pCell->SetText(m_productArry[0]);

cgridctrl 单元格 下拉 事件

注:本文为本站或本站会员原创优质内容,版权属于原作者及清泛网所有,
欢迎转载,转载时须注明版权并添加来源链接,谢谢合作! (编辑:admin)
分享到: