public static void CambiarAnchoColumnas(this RadGridView gvw, string[] nombreColumnas, params double[] porcentajes)
        {
            gvw.AutoSize = false;

            foreach (string nombre in nombreColumnas)
            {
                if (!gvw.Columns.Contains(nombre))
                {
                    throw new ArgumentException(String.Format("La columna \"{0}\" no se encuentra en la GridView", nombre));
                }
            }
            try
            {
                if (gvw.Tag == null)
                {
                    EventHandler handler = delegate
                    {
                        try { gvw.CambiarAnchoColumnas(nombreColumnas, porcentajes); }
                        catch { throw; }
                    };
                    gvw.SizeChanged        += handler;
                    gvw.RowHeightChanged   += (s, e) => { gvw.VerticalScrollState = ScrollState.AutoHide; };
                    gvw.ColumnWidthChanged += (s, e) => { gvw.HorizontalScrollState = ScrollState.AutoHide; };
                    gvw.Tag = gvw.AutoSizeRows;
                    if (gvw.AutoSizeRows)
                    {
                        PaintEventHandler enter = null;
                        enter = (sender, e) =>
                        {
                            if (gvw.IsDisplayed)
                            {
                                try
                                {
                                    handler(gvw, e);
                                    gvw.Paint -= enter;
                                }
                                catch { throw; }
                            }
                        };
                        gvw.Paint += enter;
                        return;
                    }
                }
                bool offset;
                porcentajes = ValidarPorcentajes(nombreColumnas.Length, porcentajes);
                int   width = ObtenerAnchoDeTrabajo(gvw, nombreColumnas.Length, out offset);
                int[] c     = CalcularPorcentajes(porcentajes, width);

                int i = -1;
                foreach (string columna in nombreColumnas)
                {
                    gvw.Columns[columna].Width = c[++i];
                }

                gvw.BackColor = gvw.TableElement.BackColor = System.Drawing.Color.Transparent;
                if (offset)
                {
                    gvw.HorizontalScrollState = ScrollState.AlwaysHide;
                    gvw.VerticalScrollState   = ScrollState.AlwaysShow;
                }
                else
                {
                    gvw.HorizontalScrollState = gvw.VerticalScrollState = ScrollState.AlwaysHide;
                }
            }
            catch { throw; }
        }