Ejemplo n.º 1
0
 // it always take left ( keep first table all rows)
 public static DataTable Join(DataTable First, DataTable Second, DataColumn FJC, DataColumn SJC)
 {
     return(DataTableUtility.Join(First, Second, new DataColumn[] { FJC }, new DataColumn[] { SJC }));
 }
Ejemplo n.º 2
0
 public static DataTable Join(DataTable First, DataTable Second, string FJC, string SJC)
 {
     return(DataTableUtility.Join(First, Second, new DataColumn[] { First.Columns[FJC] }, new DataColumn[] { Second.Columns[SJC] }));
 }
Ejemplo n.º 3
0
        public static void GetTabAndGridExternalColumnValue(int gridTabId, int currentGridBlockId, string referenceIds)
        {
            if (string.IsNullOrEmpty(referenceIds))
            {
                return;
            }

            PdmBlockClrDto dmBlockClrDto = PdmCacheManager.DictBlockCache[currentGridBlockId];

            if (dmBlockClrDto.BlockPdmGridDto == null)
            {
                return;
            }

            bool IsGetAliasname = false;

            DataTable tabFieldResultDataTable = GetTabDataTable(gridTabId, referenceIds, false, false);
            // Get Grading Size will call PrepareGetGridDataTable and set
            DataTable gridcolumnResultDataTable = PLMSGetGridValueHeler.LoadVariousGridColumnValue(gridTabId, currentGridBlockId, referenceIds, false, dmBlockClrDto, false, false, IsGetAliasname);


            List <string> gridExternalMappingNameList = GetExternalNappingName(gridTabId, currentGridBlockId);


            string firstReferencecolumn = gridcolumnResultDataTable.Columns[0].ColumnName;

            gridExternalMappingNameList.Add(firstReferencecolumn);

            List <string> allCoumns = new List <string>();

            foreach (DataColumn column in gridcolumnResultDataTable.Columns)
            {
                allCoumns.Add(column.ColumnName);
            }

            var needTOremovecolumn = allCoumns.Except(gridExternalMappingNameList);

            foreach (string needToRemove in needTOremovecolumn)
            {
                gridcolumnResultDataTable.Columns.Remove(needToRemove);
            }

            DataTable mergeTable = null;

            if (gridcolumnResultDataTable.Rows.Count > 0)
            {
                mergeTable = DataTableUtility.Join(tabFieldResultDataTable, gridcolumnResultDataTable, tabFieldResultDataTable.Columns[0], gridcolumnResultDataTable.Columns[0]);
            }
            else

            {
                //mergeTable

                foreach (DataColumn gridColumn in gridcolumnResultDataTable.Columns)
                {
                    if (!tabFieldResultDataTable.Columns.Contains(gridColumn.ColumnName))
                    {
                        tabFieldResultDataTable.Columns.Add(gridColumn.ColumnName);
                    }
                }

                mergeTable = tabFieldResultDataTable;
            }



            CLROutput.SendDataTable(mergeTable);
        }