//----------------------------------------------------------------------------- float GetColW(int nCol) { CLViewItm itm = mLVHdr.GetCol(nCol); if (itm != null) { return(itm.mWidth); } return(50); }
//---------------------------------------------------------------- // 添加 一行的第一列 public int NtfInsertItem(CLViewItm itm) { List <CLViewItm> row = new List <CLViewItm>(); row.Add(itm); int nCount = mRecords.Count; mRecords.Add(nCount, row); return(nCount); }
//---------------------------------------------------------------- public void OnDrawLayer(float fx, float fy) { Rect rct = new Rect(fx, fy, 50, mHeight); for (int i = 0; i < mColItm.Count; ++i) { CLViewItm itm = mColItm[i]; itm.OnDrawItem(ref rct); } }
//---------------------------------------------------------------- // 添加列或修改列宽时需要手动调用此函数进行重新计算位置 public float GetViewHdrW() { float fw = 0; for (int i = 0; i < mColItm.Count; ++i) { CLViewItm itm = mColItm[i]; fw += itm.mWidth; } return(fw); }
//----------------------------------------------------------------------------- public void NtfEndInsert() { mViewW = mLVHdr.GetViewHdrW(); mViewH = mLVHdr.mHeight; foreach (KeyValuePair <int, List <CLViewItm> > row in mRecords) { for (int i = 0; i < row.Value.Count; ++i) { CLViewItm itm = row.Value[i]; itm.mWidth = GetColW(i); } mViewH += mLVHdr.mHeight; } }
//---------------------------------------------------------------- // 顺序增加列 public void NtfAddSubItem(int nRow, int nCol, CLViewItm itm) { if (nCol < 0) { return; } List <CLViewItm> row = null; if (mRecords.TryGetValue(nRow, out row)) { if (nCol >= row.Count) { row.Add(itm); return; } row[nCol] = itm; } }
//---------------------------------------------------------------- public void NtfAddColumn(CLViewItm itm) { mLVHdr.NtfAddCol(itm); }
//---------------------------------------------------------------- public void NtfAddCol(CLViewItm itm) { mColItm.Add(itm); }