예제 #1
0
        private void ponerTablaEnTreeView(Tabla _t)
        {
            TreeViewItem twItem = new TreeViewItem();

            twItem.Header = _t.NombreTabla;
            twItem.Tag    = _t;
            NodoTablas.Items.Add(twItem);
            NodoTablas.ExpandSubtree();
        }
예제 #2
0
        void TWTablas_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e)
        {
            TreeViewItem twitem = TWTablas.SelectedItem as TreeViewItem;

            if (twitem.Tag != null)
            {
                tablaEditada              = twitem.Tag as Tabla;
                txtNombreTabla.Text       = tablaEditada.NombreTabla;
                dgridColumnas.ItemsSource = tablaEditada.Columnas;
            }
        }
예제 #3
0
        void CargarDesdeXML(object sender, RoutedEventArgs e)
        {
            OpenFileDialog dialogo = new OpenFileDialog();

            dialogo.ShowDialog();

            if (String.IsNullOrEmpty(dialogo.FileName) == false)
            {
                string      ruta             = dialogo.FileName.ToString();
                string      DirectorioActual = System.Windows.Forms.Application.StartupPath.ToString();
                Tabla       t   = null;
                ColumaTabla col = null;

                //eliminamos las tablas existentes
                NodoTablas.Items.Clear();

                //cargamos el archivo xml
                Console.WriteLine("Cargando archivo XML");
                XmlDocument xDoc = new XmlDocument();
                xDoc.Load(Path.Combine(DirectorioActual, ruta));

                XmlNodeList nodoTablas = xDoc.GetElementsByTagName("Tablas");

                foreach (XmlElement ntabla in nodoTablas[0].ChildNodes)
                {
                    t = new Tabla(ntabla.Name.ToString());
                    Console.WriteLine("Nombre tabla: " + ntabla.Name.ToString());

                    //navegar por las columnas de la tabla
                    foreach (XmlElement nColumna in ntabla.ChildNodes)
                    {
                        Console.WriteLine("\tColumna: " + nColumna.Name.ToString());
                        col = new ColumaTabla(nColumna.Name, nColumna.Attributes["tipo"].Value.ToString());

                        if (nColumna.Attributes.Count > 1)
                        {
                            col.isKey = true;
                        }

                        t.Columnas.Add(col);
                    }

                    //agregar a la lista
                    ponerTablaEnTreeView(t);
                }

                xDoc = null;
                GC.Collect();
                Console.WriteLine("XML cargado");
            }
        }