Ejemplo n.º 1
0
 private DataTable GetTableByIndex(int index, LibTable[] libTables)
 {
     foreach (LibTable libtb in libTables)
     {
         foreach (LibTableObj tableobj in libtb.Tables)
         {
             TableExtendedProperties extprop = tableobj.DataTable.ExtendedProperties[SysConstManage.ExtProp] as TableExtendedProperties;
             if (extprop != null && extprop.TableIndex == index)
             {
                 return(tableobj.DataTable);
             }
         }
     }
     return(null);
 }
Ejemplo n.º 2
0
        //public
        #region 私有函数
        private void GetColumns()
        {
            _cols = new Dictionary <string, LibFieldObj>();
            List <string>         vals        = new List <string>();
            ColExtendedProperties colExtended = null;
            LibFieldObj           fobj        = null;
            string ckey = string.Empty;
            TableExtendedProperties tableExtended = DataTable.ExtendedProperties[SysConstManage.ExtProp] as TableExtendedProperties;

            if (_tbaliasmdic == null)
            {
                _tbaliasmdic = new Dictionary <string, string>();
            }
            foreach (DataColumn c in DataTable.Columns)
            {
                fobj        = new LibFieldObj();
                colExtended = c.ExtendedProperties[SysConstManage.ExtProp] as ColExtendedProperties;
                if (colExtended != null)
                {
                    if (colExtended.IsRelate)
                    {
                        if (!string.IsNullOrEmpty(colExtended.AliasName))
                        {
                            ckey = colExtended.AliasName;
                            //fobj.FieldNm = colExtended.AliasName;
                        }
                        else if (!string.IsNullOrEmpty(colExtended.ObjectNm))
                        {
                            ckey = colExtended.ObjectNm;
                            //fobj.FieldNm = colExtended.ObjectNm;
                        }
                        else
                        {
                            ckey = c.ColumnName;
                            //fobj.FieldNm = c.ColumnName;
                        }
                        string key = string.Format("{0}{1}{2}", colExtended.FromDSID, colExtended.FromTableIndex, colExtended.SourceFieldNm);
                        if (!_tbaliasmdic.ContainsKey(key))
                        {
                            string v = string.Format("{0}{1}", LibSysUtils.ToCharByTableIndex(tableExtended.TableIndex), LibSysUtils.ToCharByTableIndex(colExtended.FromTableIndex));
                            //int t = vals.Where(i => i == v).Count();
                            int cout = vals.Where(i => i == v).Count();
                            if (cout == 0)
                            {
                                _tbaliasmdic.Add(key, string.Format("{0}", v));
                            }
                            else
                            {
                                _tbaliasmdic.Add(key, string.Format("{0}{1}", v, cout));
                            }
                            vals.Add(v);
                        }
                        fobj.TBAliasNm = _tbaliasmdic[key];
                        fobj.FieldNm   = colExtended.FieldNm;
                    }
                    else
                    {
                        if (tableExtended != null)
                        {
                            fobj.TBAliasNm = LibSysUtils.ToCharByTableIndex(tableExtended.TableIndex).ToString();
                        }
                        ckey         = string.IsNullOrEmpty(colExtended.ObjectNm) ? c.ColumnName : colExtended.ObjectNm;
                        fobj.FieldNm = c.ColumnName;
                    }
                    fobj.colNm = c.ColumnName;
                    _cols.Add(ckey, fobj);
                }
                else
                {
                    fobj.FieldNm = c.ColumnName;
                    fobj.colNm   = c.ColumnName;
                    _cols.Add(fobj.FieldNm, fobj);
                }
            }
            Columns = new ColumnObj(_cols);
        }