Пример #1
0
        private void ConstruirDefinicionTabla(String[] sColumnsPrimary)
        {
            defTabla = new Definicion();
            FilaDefinicion fd = null;

            for (int i = 0; i < dtTabla.Rows.Count; i++)
            {
                fd             = new FilaDefinicion();
                fd.NombreCampo = dtTabla.Rows[i]["COLUMN_NAME"].ToString();
                fd.TipoBD      = dtTabla.Rows[i]["DATA_TYPE"].ToString().Substring(0, 1).ToUpper() + dtTabla.Rows[i]["DATA_TYPE"].ToString().Substring(1, dtTabla.Rows[i]["DATA_TYPE"].ToString().Length - 1).ToLower();
                if ((fd.TipoBD.ToLower() == "numeric" || fd.TipoBD.ToLower() == "decimal") || ((dtTabla.Rows[i]["CHARACTER_MAXIMUM_LENGTH"] != DBNull.Value && Convert.ToDouble(dtTabla.Rows[i]["CHARACTER_MAXIMUM_LENGTH"]) > 0) && (fd.TipoBD.ToLower() != "bit" && fd.TipoBD.ToLower() != "int" && fd.TipoBD.ToLower() != "datetime")))
                {
                    fd.Tamano = Convert.ToInt32(dtTabla.Rows[i]["CHARACTER_MAXIMUM_LENGTH"] != DBNull.Value && dtTabla.Rows[i]["CHARACTER_MAXIMUM_LENGTH"].ToString() != "0" ? dtTabla.Rows[i]["CHARACTER_MAXIMUM_LENGTH"] : (dtTabla.Rows[i]["NUMERIC_PRECISION"] != DBNull.Value ? dtTabla.Rows[i]["NUMERIC_PRECISION"] : -1));
                    fd.Escala = Convert.ToInt32(dtTabla.Rows[i]["NUMERIC_SCALE"] != DBNull.Value && dtTabla.Rows[i]["NUMERIC_SCALE"].ToString() != "0" ? dtTabla.Rows[i]["NUMERIC_SCALE"] : -1);
                }
                else
                {
                    fd.Tamano = -1;
                    fd.Escala = -1;
                }
                fd.ClavePrimaria = Convert.ToBoolean(dtTabla.Rows[i]["IS_PRIMARY_KEY"]);
                fd.ClaveForanea  = Convert.ToBoolean(dtTabla.Rows[i]["IS_FOREIGN_KEY"]);
                fd.IsNotNull     = !Convert.ToBoolean(dtTabla.Rows[i]["IS_NULLABLE"]);

                setOpcionesSegunTipoDato(ref fd);

                defTabla.Filas.Add(fd);
            }

            //Si la tabla no tiene primary key definida se establece por defecto la primer columna como primary key
            if (!defTabla.Filas.Exists(pk => pk.ClavePrimaria == true))
            {
                defTabla.Filas.ToArray()[0].ClavePrimaria = true;
            }

            ReferenciaDefinicion rd = null;

            for (int i = 0; i < dtReferencias.Rows.Count; i++)
            {
                rd                     = new ReferenciaDefinicion();
                rd.TablaPadre          = dtReferencias.Rows[i]["parentTable"].ToString();
                rd.ColumnaPadre        = dtReferencias.Rows[i]["parentColumn"].ToString();
                rd.TablaReferenciada   = dtReferencias.Rows[i]["referencedTable"].ToString();
                rd.ColumnaReferenciada = dtReferencias.Rows[i]["referencedColumn"].ToString();

                defTabla.Referencias.Add(rd);
            }
        }
Пример #2
0
        private string setInformacionFila(FilaDefinicion fila, string texto)
        {
            texto = texto.Replace("<FieldName>", fila.NombreCampo);
            texto = texto.Replace("<FieldDbType>", fila.TipoBD);
            texto = texto.Replace("<FieldType>", fila.TipoPrimitivo);
            texto = texto.Replace("<FieldPrecision>", (fila.Tamano != -1 ? "(" + fila.Tamano.ToString() : ""));
            texto = texto.Replace("<FieldPrecision2>", (fila.Tamano != -1 ? "," + fila.Tamano.ToString() : ""));
            texto = texto.Replace("<FieldScale>", (fila.Escala != -1 ? "," + fila.Escala.ToString() : "") + (fila.Tamano != -1 ? ")" : ""));


            texto = texto.Replace("<ControlByDataType>", fila.Control);
            texto = texto.Replace("<PrefixControl>", fila.ControlPrefijo);
            texto = texto.Replace("<AtributesControl>", fila.ControlAtributos);
            texto = texto.Replace("<ControlPropValue>", fila.ControlPropiedadDato);
            texto = texto.Replace("<DefaultValue>", fila.ValorPorDefecto);
            return(texto);
        }
Пример #3
0
        private void setOpcionesSegunTipoDato(ref FilaDefinicion fila)
        {
            String TamanoMinimo;
            String TamanoMaximo;
            String atributos;

            switch (fila.TipoBD.ToLower())
            {
            case "bit":
                fila.TipoPrimitivo        = "Boolean";
                fila.Control              = "CheckBox";
                fila.ControlPrefijo       = "chk";
                fila.ControlPropiedadDato = "Checked";
                fila.ValorPorDefecto      = "False";
                break;

            case "varchar":
                fila.TipoPrimitivo = "String";

                fila.Control              = "TextBox";
                fila.ControlPrefijo       = "txt";
                fila.ControlPropiedadDato = "Text";
                TamanoMinimo              = fila.IsNotNull ? "1" : "0";
                TamanoMaximo              = fila.Tamano == -1 ? "50" : fila.Tamano.ToString();
                atributos = " MaxLength=\"" + TamanoMaximo.ToString() + "\" "
                            + " title=\"Ingrese el/la " + fila.NombreCampo + " (" + TamanoMaximo + " digitos max).\" ";
                if (fila.IsNotNull)
                {
                    atributos += " required=\"required\"";
                }
                atributos            += " pattern=\"[0-9A-Za-z\\ñ\\Ñ]{" + TamanoMinimo + "," + TamanoMaximo + "}\" ";
                fila.ControlAtributos = atributos;
                fila.ValorPorDefecto  = "";
                break;

            case "int":
                fila.TipoPrimitivo = "Int32";

                if (fila.ClaveForanea)
                {
                    fila.Control              = "DropDownList";
                    fila.ControlPrefijo       = "ddl";
                    fila.ControlPropiedadDato = "SelectedValue";
                }
                else
                {
                    fila.Control              = "TextBox";
                    fila.ControlPrefijo       = "txt";
                    fila.ControlPropiedadDato = "Text";

                    TamanoMinimo = fila.IsNotNull ? "1" : "0";
                    TamanoMaximo = fila.Tamano == -1 ? "50" : fila.Tamano.ToString();
                    atributos    = " MaxLength=\"" + TamanoMaximo.ToString() + "\" "
                                   + " title=\"Ingrese el/la " + fila.NombreCampo + " (" + TamanoMaximo + " digitos max).\" ";
                    if (fila.IsNotNull)
                    {
                        atributos += " required=\"required\"";
                    }
                    atributos            += " pattern=\"[0-9]{" + TamanoMinimo + "," + TamanoMaximo + "}\" ";
                    fila.ControlAtributos = atributos;
                }
                fila.ValorPorDefecto = "-1";
                break;

            case "datetime":
                fila.TipoPrimitivo = "DateTime";

                fila.Control              = "TextBox";
                fila.ControlPrefijo       = "txt";
                fila.ControlPropiedadDato = "Text";
                atributos  = " title=\"Ingrese el/la " + fila.NombreCampo + ".";
                atributos += " TextMode=\"Date\" ";
                if (fila.IsNotNull)
                {
                    atributos += " required=\"required\"";
                }
                fila.ControlAtributos = atributos;
                fila.ValorPorDefecto  = "";
                break;

            case "smalldatetime":
                fila.TipoPrimitivo = "DateTime";

                fila.Control              = "TextBox";
                fila.ControlPrefijo       = "txt";
                fila.ControlPropiedadDato = "Text";
                TamanoMinimo              = fila.IsNotNull ? "1" : "0";
                TamanoMaximo              = fila.Tamano == -1 ? "50" : fila.Tamano.ToString();
                atributos = " MaxLength=\"" + TamanoMaximo.ToString() + "\" "
                            + " title=\"Ingrese el/la " + fila.NombreCampo + " (" + TamanoMaximo + " digitos max).\" ";
                if (fila.IsNotNull)
                {
                    atributos += " required=\"required\"";
                }
                atributos            += " pattern=\"[0-9]{" + TamanoMinimo + "," + TamanoMaximo + "}\" ";
                fila.ControlAtributos = atributos;
                fila.ValorPorDefecto  = "";
                break;

            case "date":
                fila.TipoPrimitivo = "DateTime";

                fila.Control              = "TextBox";
                fila.ControlPrefijo       = "txt";
                fila.ControlPropiedadDato = "Text";
                atributos  = " title=\"Ingrese el/la " + fila.NombreCampo + ".";
                atributos += " TextMode=\"Date\" ";
                if (fila.IsNotNull)
                {
                    atributos += " required=\"required\"";
                }
                fila.ControlAtributos = atributos;
                fila.ValorPorDefecto  = "";
                break;

            case "time":
                fila.TipoPrimitivo = "DateTime";

                fila.Control              = "TextBox";
                fila.ControlPrefijo       = "txt";
                fila.ControlPropiedadDato = "Text";
                atributos  = " title=\"Ingrese el/la " + fila.NombreCampo + ".";
                atributos += " TextMode=\"Date\" ";
                if (fila.IsNotNull)
                {
                    atributos += " required=\"required\"";
                }
                fila.ControlAtributos = atributos;
                fila.ValorPorDefecto  = "";
                break;

            case "timestamp":
                fila.TipoPrimitivo = "Int32";

                fila.Control              = "TextBox";
                fila.ControlPrefijo       = "txt";
                fila.ControlPropiedadDato = "Text";
                TamanoMinimo              = fila.IsNotNull ? "1" : "0";
                TamanoMaximo              = fila.Tamano == -1 ? "50" : fila.Tamano.ToString();
                atributos = " MaxLength=\"" + TamanoMaximo.ToString() + "\" "
                            + " title=\"Ingrese el/la " + fila.NombreCampo + " (" + TamanoMaximo + " digitos max).\" ";
                if (fila.IsNotNull)
                {
                    atributos += " required=\"required\"";
                }
                atributos            += " pattern=\"[0-9A-Za-z\\ñ\\Ñ]{" + TamanoMinimo + "," + TamanoMaximo + "}\" ";
                fila.ControlAtributos = atributos;
                fila.ValorPorDefecto  = "";
                break;


            case "tinyint":
                fila.TipoPrimitivo = "Int16";

                fila.Control              = "TextBox";
                fila.ControlPrefijo       = "txt";
                fila.ControlPropiedadDato = "Text";
                TamanoMinimo              = fila.IsNotNull ? "1" : "0";
                TamanoMaximo              = fila.Tamano == -1 ? "50" : fila.Tamano.ToString();
                atributos = " MaxLength=\"" + TamanoMaximo.ToString() + "\" "
                            + " title=\"Ingrese el/la " + fila.NombreCampo + " (" + TamanoMaximo + " digitos max).\" ";
                if (fila.IsNotNull)
                {
                    atributos += " required=\"required\"";
                }
                atributos            += " pattern=\"[0-9]{" + TamanoMinimo + "," + TamanoMaximo + "}\" ";
                fila.ControlAtributos = atributos;
                fila.ValorPorDefecto  = "-1";
                break;

            case "smallint":
                fila.TipoPrimitivo = "Int16";

                fila.Control              = "TextBox";
                fila.ControlPrefijo       = "txt";
                fila.ControlPropiedadDato = "Text";
                TamanoMinimo              = fila.IsNotNull ? "1" : "0";
                TamanoMaximo              = fila.Tamano == -1 ? "50" : fila.Tamano.ToString();
                atributos = " MaxLength=\"" + TamanoMaximo.ToString() + "\" "
                            + " title=\"Ingrese el/la " + fila.NombreCampo + " (" + TamanoMaximo + " digitos max).\" ";
                if (fila.IsNotNull)
                {
                    atributos += " required=\"required\"";
                }
                atributos            += " pattern=\"[0-9]{" + TamanoMinimo + "," + TamanoMaximo + "}\" ";
                fila.ControlAtributos = atributos;
                fila.ValorPorDefecto  = "-1";
                break;

            case "bigint":
                fila.TipoPrimitivo = "Int64";

                fila.Control              = "TextBox";
                fila.ControlPrefijo       = "txt";
                fila.ControlPropiedadDato = "Text";
                TamanoMinimo              = fila.IsNotNull ? "1" : "0";
                TamanoMaximo              = fila.Tamano == -1 ? "50" : fila.Tamano.ToString();
                atributos = " MaxLength=\"" + TamanoMaximo.ToString() + "\" "
                            + " title=\"Ingrese el/la " + fila.NombreCampo + " (" + TamanoMaximo + " digitos max).\" ";
                if (fila.IsNotNull)
                {
                    atributos += " required=\"required\"";
                }
                atributos            += " pattern=\"[0-9]{" + TamanoMinimo + "," + TamanoMaximo + "}\" ";
                fila.ControlAtributos = atributos;
                fila.ValorPorDefecto  = "-1";
                break;

            case "float":
                fila.TipoPrimitivo = "Double";

                fila.Control              = "TextBox";
                fila.ControlPrefijo       = "txt";
                fila.ControlPropiedadDato = "Text";
                TamanoMinimo              = fila.IsNotNull ? "1" : "0";
                TamanoMaximo              = fila.Tamano == -1 ? "50" : fila.Tamano.ToString();
                atributos = " MaxLength=\"" + TamanoMaximo.ToString() + "\" "
                            + " title=\"Ingrese el/la " + fila.NombreCampo + " (" + TamanoMaximo + " digitos max).\" ";
                if (fila.IsNotNull)
                {
                    atributos += " required=\"required\"";
                }
                atributos            += " pattern=\"[0-9]{" + TamanoMinimo + "," + TamanoMaximo + "}\" ";
                fila.ControlAtributos = atributos;
                fila.ValorPorDefecto  = "-1";
                break;

            case "decimal":
                fila.TipoPrimitivo = "Decimal";

                fila.Control              = "TextBox";
                fila.ControlPrefijo       = "txt";
                fila.ControlPropiedadDato = "Text";
                TamanoMinimo              = fila.IsNotNull ? "1" : "0";
                TamanoMaximo              = fila.Tamano == -1 ? "50" : fila.Tamano.ToString();
                atributos = " MaxLength=\"" + TamanoMaximo.ToString() + "\" "
                            + " title=\"Ingrese el/la " + fila.NombreCampo + " (" + TamanoMaximo + " digitos max).\" ";
                if (fila.IsNotNull)
                {
                    atributos += " required=\"required\"";
                }
                atributos            += " pattern=\"[0-9]{" + TamanoMinimo + "," + TamanoMaximo + "}\" ";
                fila.ControlAtributos = atributos;
                fila.ValorPorDefecto  = "-1";
                break;

            case "numeric":
                fila.TipoPrimitivo = "Decimal";

                fila.Control              = "TextBox";
                fila.ControlPrefijo       = "txt";
                fila.ControlPropiedadDato = "Text";
                TamanoMinimo              = fila.IsNotNull ? "1" : "0";
                TamanoMaximo              = fila.Tamano == -1 ? "50" : fila.Tamano.ToString();
                atributos = " MaxLength=\"" + TamanoMaximo.ToString() + "\" "
                            + " title=\"Ingrese el/la " + fila.NombreCampo + " (" + TamanoMaximo + " digitos max).\" ";
                if (fila.IsNotNull)
                {
                    atributos += " required=\"required\"";
                }
                atributos            += " pattern=\"[0-9]{" + TamanoMinimo + "," + TamanoMaximo + "}\" ";
                fila.ControlAtributos = atributos;
                fila.ValorPorDefecto  = "-1";
                break;


            case "real":
                fila.TipoPrimitivo = "Int32";

                fila.Control              = "TextBox";
                fila.ControlPrefijo       = "txt";
                fila.ControlPropiedadDato = "Text";
                TamanoMinimo              = fila.IsNotNull ? "1" : "0";
                TamanoMaximo              = fila.Tamano == -1 ? "50" : fila.Tamano.ToString();
                atributos = " MaxLength=\"" + TamanoMaximo.ToString() + "\" "
                            + " title=\"Ingrese el/la " + fila.NombreCampo + " (" + TamanoMaximo + " digitos max).\" ";
                if (fila.IsNotNull)
                {
                    atributos += " required=\"required\"";
                }
                atributos            += " pattern=\"[0-9]{" + TamanoMinimo + "," + TamanoMaximo + "}\" ";
                fila.ControlAtributos = atributos;
                fila.ValorPorDefecto  = "-1";
                break;

            case "money":
                fila.TipoPrimitivo = "Decimal";

                fila.Control              = "TextBox";
                fila.ControlPrefijo       = "txt";
                fila.ControlPropiedadDato = "Text";
                TamanoMinimo              = fila.IsNotNull ? "1" : "0";
                TamanoMaximo              = fila.Tamano == -1 ? "50" : fila.Tamano.ToString();
                atributos = " MaxLength=\"" + TamanoMaximo.ToString() + "\" "
                            + " title=\"Ingrese el/la " + fila.NombreCampo + " (" + TamanoMaximo + " digitos max).\" ";
                if (fila.IsNotNull)
                {
                    atributos += " required=\"required\"";
                }
                atributos            += " pattern=\"[0-9]{" + TamanoMinimo + "," + TamanoMaximo + "}\" ";
                fila.ControlAtributos = atributos;
                fila.ValorPorDefecto  = "-1";
                break;

            case "smallmoney":
                fila.TipoPrimitivo = "Decimal";

                fila.Control              = "TextBox";
                fila.ControlPrefijo       = "txt";
                fila.ControlPropiedadDato = "Text";
                TamanoMinimo              = fila.IsNotNull ? "1" : "0";
                TamanoMaximo              = fila.Tamano == -1 ? "50" : fila.Tamano.ToString();
                atributos = " MaxLength=\"" + TamanoMaximo.ToString() + "\" "
                            + " title=\"Ingrese el/la " + fila.NombreCampo + " (" + TamanoMaximo + " digitos max).\" ";
                if (fila.IsNotNull)
                {
                    atributos += " required=\"required\"";
                }
                atributos            += " pattern=\"[0-9]{" + TamanoMinimo + "," + TamanoMaximo + "}\" ";
                fila.ControlAtributos = atributos;
                fila.ValorPorDefecto  = "-1";
                break;


            case "ntext":
                fila.TipoPrimitivo = "String";

                fila.Control              = "TextBox";
                fila.ControlPrefijo       = "txt";
                fila.ControlPropiedadDato = "Text";
                TamanoMinimo              = fila.IsNotNull ? "1" : "0";
                TamanoMaximo              = fila.Tamano == -1 ? "50" : fila.Tamano.ToString();
                atributos = " MaxLength=\"" + TamanoMaximo.ToString() + "\" "
                            + " title=\"Ingrese el/la " + fila.NombreCampo + " (" + TamanoMaximo + " digitos max).\" ";
                if (fila.IsNotNull)
                {
                    atributos += " required=\"required\"";
                }
                atributos            += " pattern=\"[0-9]{" + TamanoMinimo + "," + TamanoMaximo + "}\" ";
                fila.ControlAtributos = atributos;
                fila.ValorPorDefecto  = "";
                break;

            case "text":
                fila.TipoPrimitivo = "String";

                fila.Control              = "TextBox";
                fila.ControlPrefijo       = "txt";
                fila.ControlPropiedadDato = "Text";
                TamanoMinimo              = fila.IsNotNull ? "1" : "0";
                TamanoMaximo              = fila.Tamano == -1 ? "50" : fila.Tamano.ToString();
                atributos = " MaxLength=\"" + TamanoMaximo.ToString() + "\" "
                            + " title=\"Ingrese el/la " + fila.NombreCampo + " (" + TamanoMaximo + " digitos max).\" ";
                if (fila.IsNotNull)
                {
                    atributos += " required=\"required\"";
                }
                atributos            += " pattern=\"[0-9A-Za-z\\ñ\\Ñ]{" + TamanoMinimo + "," + TamanoMaximo + "}\" ";
                fila.ControlAtributos = atributos;
                fila.ValorPorDefecto  = "";
                break;

            case "char":
                fila.TipoPrimitivo = "String";

                fila.Control              = "TextBox";
                fila.ControlPrefijo       = "txt";
                fila.ControlPropiedadDato = "Text";
                TamanoMinimo              = fila.IsNotNull ? "1" : "0";
                TamanoMaximo              = fila.Tamano == -1 ? "50" : fila.Tamano.ToString();
                atributos = " MaxLength=\"" + TamanoMaximo.ToString() + "\" "
                            + " title=\"Ingrese el/la " + fila.NombreCampo + " (" + TamanoMaximo + " digitos max).\" ";
                if (fila.IsNotNull)
                {
                    atributos += " required=\"required\"";
                }
                atributos            += " pattern=\"[0-9A-Za-z\\ñ\\Ñ]{" + TamanoMinimo + "," + TamanoMaximo + "}\" ";
                fila.ControlAtributos = atributos;
                fila.ValorPorDefecto  = "";
                break;

            case "nvarchar":
                fila.TipoPrimitivo = "String";

                fila.Control              = "TextBox";
                fila.ControlPrefijo       = "txt";
                fila.ControlPropiedadDato = "Text";
                TamanoMinimo              = fila.IsNotNull ? "1" : "0";
                TamanoMaximo              = fila.Tamano == -1 ? "50" : fila.Tamano.ToString();
                atributos = " MaxLength=\"" + TamanoMaximo.ToString() + "\" "
                            + " title=\"Ingrese el/la " + fila.NombreCampo + " (" + TamanoMaximo + " digitos max).\" ";
                if (fila.IsNotNull)
                {
                    atributos += " required=\"required\"";
                }
                atributos            += " pattern=\"[0-9A-Za-z\\ñ\\Ñ]{" + TamanoMinimo + "," + TamanoMaximo + "}\" ";
                fila.ControlAtributos = atributos;
                fila.ValorPorDefecto  = "";
                break;

            case "nchar":
                fila.TipoPrimitivo = "String";

                fila.Control              = "TextBox";
                fila.ControlPrefijo       = "txt";
                fila.ControlPropiedadDato = "Text";
                TamanoMinimo              = fila.IsNotNull ? "1" : "0";
                TamanoMaximo              = fila.Tamano == -1 ? "50" : fila.Tamano.ToString();
                atributos = " MaxLength=\"" + TamanoMaximo.ToString() + "\" "
                            + " title=\"Ingrese el/la " + fila.NombreCampo + " (" + TamanoMaximo + " digitos max).\" ";
                if (fila.IsNotNull)
                {
                    atributos += " required=\"required\"";
                }
                atributos            += " pattern=\"[0-9A-Za-z\\ñ\\Ñ]{" + TamanoMinimo + "," + TamanoMaximo + "}\" ";
                fila.ControlAtributos = atributos;
                fila.ValorPorDefecto  = "";
                break;

            case "varbinary":
                fila.TipoPrimitivo = "Int32";

                fila.Control              = "TextBox";
                fila.ControlPrefijo       = "txt";
                fila.ControlPropiedadDato = "Text";
                TamanoMinimo              = fila.IsNotNull ? "1" : "0";
                TamanoMaximo              = fila.Tamano == -1 ? "50" : fila.Tamano.ToString();
                atributos = " MaxLength=\"" + TamanoMaximo.ToString() + "\" "
                            + " title=\"Ingrese el/la " + fila.NombreCampo + " (" + TamanoMaximo + " digitos max).\" ";
                if (fila.IsNotNull)
                {
                    atributos += " required=\"required\"";
                }
                atributos            += " pattern=\"[0-9A-Za-z\\ñ\\Ñ]{" + TamanoMinimo + "," + TamanoMaximo + "}\" ";
                fila.ControlAtributos = atributos;
                fila.ValorPorDefecto  = "";
                break;

            case "binary":
                fila.TipoPrimitivo = "Int32";

                fila.Control              = "TextBox";
                fila.ControlPrefijo       = "txt";
                fila.ControlPropiedadDato = "Text";
                TamanoMinimo              = fila.IsNotNull ? "1" : "0";
                TamanoMaximo              = fila.Tamano == -1 ? "50" : fila.Tamano.ToString();
                atributos = " MaxLength=\"" + TamanoMaximo.ToString() + "\" "
                            + " title=\"Ingrese el/la " + fila.NombreCampo + " (" + TamanoMaximo + " digitos max).\" ";
                if (fila.IsNotNull)
                {
                    atributos += " required=\"required\"";
                }
                atributos            += " pattern=\"[0-9A-Za-z\\ñ\\Ñ]{" + TamanoMinimo + "," + TamanoMaximo + "}\" ";
                fila.ControlAtributos = atributos;
                fila.ValorPorDefecto  = "";
                break;

            case "xml":
                fila.TipoPrimitivo = "String";

                fila.Control              = "TextBox";
                fila.ControlPrefijo       = "txt";
                fila.ControlPropiedadDato = "Text";
                TamanoMinimo              = fila.IsNotNull ? "1" : "0";
                TamanoMaximo              = fila.Tamano == -1 ? "50" : fila.Tamano.ToString();
                atributos = " MaxLength=\"" + TamanoMaximo.ToString() + "\" "
                            + " title=\"Ingrese el/la " + fila.NombreCampo + " (" + TamanoMaximo + " digitos max).\" ";
                if (fila.IsNotNull)
                {
                    atributos += " required=\"required\"";
                }
                atributos            += " pattern=\"[0-9A-Za-z\\ñ\\Ñ]{" + TamanoMinimo + "," + TamanoMaximo + "}\" ";
                fila.ControlAtributos = atributos;
                fila.ValorPorDefecto  = "";
                break;
            }
            if (fila.ClavePrimaria)
            {
                fila.ControlAtributos += " Visible=\"False\"";
            }
        }