private void m_mthBeforeShow(clsGridListViewExt p_objGridTool, ListView p_lsvList) { //清空ListView内容 p_lsvList.Items.Clear(); //如果不是同一列,初始化列 if (p_objGridTool.m_intGetColumnIndex() != m_intPreColumnIndexExt) { p_lsvList.Columns.Clear(); m_mthInitListViewColumnExt(p_objGridTool.m_intGetColumnIndex(), p_lsvList); m_intPreColumnIndexExt = p_objGridTool.m_intGetColumnIndex(); } //初始化列标内容 m_mthInitListViewItemExt(p_objGridTool.m_intGetColumnIndex(), p_objGridTool.m_strGetCurrentText(), p_lsvList); }
/// <summary> /// 添加TextChange中显示的ListView /// </summary> /// <param name="p_intColumnIndex">列的索引,从0开始</param> /// <param name="p_evtBeforeListViewShow">显示ListView之前的事件</param> /// <param name="p_evtListViewDoubleClick">ListView双击的事件</param> protected void m_mthAddColumnWithListView(int p_intColumnIndex, clsGridListViewExt.d_mthBeforeListViewShowHandler p_evtBeforeListViewShow, clsGridListViewExt.d_mthListViewDoubleClickHandler p_evtListViewDoubleClick) { if (m_lsvGridShow == null || p_evtBeforeListViewShow == null || p_evtListViewDoubleClick == null || p_intColumnIndex < 0 || p_intColumnIndex > this.TableStyles[0].GridColumnStyles.Count - 1) { return; } DataGridTextBoxColumn objColumn = this.TableStyles[0].GridColumnStyles[p_intColumnIndex] as DataGridTextBoxColumn; if (objColumn == null) { return; } clsGridListViewExt objGridListView = new clsGridListViewExt(objColumn, p_intColumnIndex, m_lsvGridShow); objGridListView.m_evtBeforeListViewShow += p_evtBeforeListViewShow; objGridListView.m_evtListViewDoubleClick += p_evtListViewDoubleClick; m_arlGridListTools.Add(objGridListView); }
private void m_mthDoubleClick(clsGridListViewExt p_objGridTool, ListViewItem p_lviClickItem) { //获取内容 object [] objvalue = m_objMakeDataExt(p_objGridTool.m_intGetColumnIndex(), p_lviClickItem); if (objvalue == null) { return; } //放入内容:如果是新的内容,添加新行。 int intRowNum = p_objGridTool.m_objGetCurrentCell().RowNumber; if (intRowNum >= m_dtbGrid.Rows.Count) { m_mthAddRow(objvalue); } else { m_mthUpdateRow(intRowNum, objvalue); } }