void dataschemaGridbinding()
        {
            try
            {
                DataTable dt            = clsDSOBJ.fnGetTreDetailsSchema(ddlTableName.SelectedValue.ToString());
                DataTable dtcalaculated = clsDSOBJ.fnGetCalaculatedColMappingData(Common.iProjectID, Common.strTableName);
                DataTable dt1           = clsDSOBJ.fnGetColMappingData(Common.iProjectID);
                DataRow   row;

                dt.Columns.Add(new DataColumn("Table", typeof(string)));
                dt.Columns.Add(new DataColumn("Type", typeof(int)));
                dt.Columns.Add(new DataColumn("Required", typeof(bool)));
                foreach (DataRow drcal in dtcalaculated.Rows)
                {
                    row = dt.NewRow();
                    row["ColumnName"] = drcal["COLNAME"].ToString();
                    row["Table"]      = "C";
                    //if (drcal["COLDATATYPE"].ToString() == "NUMBER")
                    //{
                    //    row["DataType"] = typeof(decimal);
                    //}
                    row["DataType"] = drcal["COLDATATYPE"].ToString() == "NUMBER" ? typeof(Decimal) : drcal["COLDATATYPE"].ToString() == "DATE" ? typeof(DateTime) : typeof(String);
                    dt.Rows.Add(row);
                }

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    if (dt1.Rows.Count > 0)
                    {
                        DataRow[] dr = dt1.Select("COLNAME='" + dt.Rows[i][0].ToString() + "'");
                        if (dr.Length > 0 && dr[0]["TABLENAME"].ToString().ToLower() == ddlTableName.SelectedValue.ToString().ToLower())
                        {
                            dt.Rows[i]["Type"]     = dr[0]["Type"];
                            dt.Rows[i]["Required"] = dr[0]["ISREQUIRED"];
                            if (dt.Rows[i]["Table"].ToString() != "C")
                            {
                                dt.Rows[i]["Table"] = "M";
                            }
                        }
                        else
                        {
                            dt.Rows[i]["Type"] = (int)Enums.ColType.None;
                            if (dt.Rows[i]["Table"] != "C")
                            {
                                dt.Rows[i]["Table"] = "M";
                            }
                            dt.Rows[i]["Required"] = false;
                        }
                    }
                    else
                    {
                        dt.Rows[i]["Type"] = (int)Enums.ColType.None;
                        if (dt.Rows[i]["Table"] != "C")
                        {
                            dt.Rows[i]["Table"] = "M";
                        }
                        dt.Rows[i]["Required"] = false;
                    }
                }

                dataschemaGrid.DataSource = dt;
                ////   DataTable dtmain = (DataTable)dataschemaGrid.DataSource;
                //   if (dtmain.Rows.Count > 0)
                //   {
                //       //dtmain.Merge(dt, true);
                //       if (dtmain.Rows.Count != dt.Rows.Count)
                //       {
                //           DataRow dr = dtmain.NewRow();
                //         dr = dt.Rows[dt.Rows.Count - 1] as DataRow;
                //           dt.Rows[dt.Rows.Count - 1].Delete();
                //           dtmain.Rows.Add(dr.ItemArray);
                //           dataschemaGrid.DataSource = dtmain;
                //           dtmain = null;
                //       }
                //   }
                //   else
                //   {
                //       dataschemaGrid.DataSource = dt;
                //   }
                GridViewComboBoxColumn categoryColumn = new GridViewComboBoxColumn();
                categoryColumn.HeaderText    = "Type";
                categoryColumn.ValueMember   = "TypeId";
                categoryColumn.DisplayMember = "Type";
                categoryColumn.FieldName     = "Type";
                categoryColumn.DataSource    = clsDSOBJ.fnCreateColTypes();
                categoryColumn.Width         = 200;
                if (dataschemaGrid.MasterTemplate.Columns.Contains("Type1"))
                {
                    dataschemaGrid.MasterTemplate.Columns.Remove("Type1");
                }
                dataschemaGrid.MasterTemplate.Columns.Add(categoryColumn);
                dataschemaGrid.Columns["ColumnName"].ReadOnly = true;
                dataschemaGrid.Columns["DataType"].ReadOnly   = true;
                dataschemaGrid.Columns["Type"].ReadOnly       = true;
                dataschemaGrid.Columns["Type"].IsVisible      = false;
                dataschemaGrid.Columns["Table"].IsVisible     = true;
                dataschemaGrid.Columns[0].Width = 200;
                // dataschemaGrid.Columns[1].AutoSizeMode = BestFitColumnMode.DisplayedDataCells;
                dataschemaGrid.Columns["DataType"].Width = 300;
                dataschemaGrid.Columns["Required"].Width = 50;
                dataschemaGrid.Columns["Table"].Width    = 30;
                dataschemaGrid.Columns.Remove("NumericPrecision");
                dataschemaGrid.Columns.Remove("NumericScale");
                dataschemaGrid.Columns.Remove("ProviderType");
                dataschemaGrid.Columns.Remove("IsLong");
                dataschemaGrid.Columns.Remove("AllowDBNull");
                dataschemaGrid.Columns.Remove("IsReadOnly");
                dataschemaGrid.Columns.Remove("IsUnique");
                dataschemaGrid.Columns.Remove("IsKey");
                dataschemaGrid.Columns.Remove("IsAutoIncrement");
                dataschemaGrid.Columns.Remove("IsRowVersion");
                dataschemaGrid.Columns.Remove("ColumnMapping");
                dataschemaGrid.Columns.Remove("AutoIncrementSeed");
                dataschemaGrid.Columns.Remove("AutoIncrementStep");
                dataschemaGrid.Columns.Remove("BaseCatalogName");
                dataschemaGrid.Columns.Remove("BaseSchemaName");
                dataschemaGrid.Columns.Remove("BaseTableName");
                dataschemaGrid.Columns.Remove("BaseTableNameSpace");
                dataschemaGrid.Columns.Remove("BaseColumnName");
                dataschemaGrid.Columns.Remove("BaseColumnNameSpace");
                dataschemaGrid.Columns.Remove("Expression");
                dataschemaGrid.Columns.Remove("DefaultValue");
                dataschemaGrid.Columns.Remove("ColumnOrdinal");
                dataschemaGrid.Columns.Remove("ColumnSize");
                dataschemaGrid.MasterTemplate.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;
                //dataschemaGrid.MasterTemplate.BestFitColumns();
                dataschemaGrid.CellValueChanged += new GridViewCellEventHandler(dataschemaGrid_CellValueChanged);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }