Foro Oficial de C#

ya lo pude hacer solo era agregar DataFormatString="{0:dd/MM/yyyy}" dentro de los asp:BoundField

Código:
  <asp:BoundField DataField="PERIODO" [COLOR=Red]DataFormatString="{0:dd/MM/yyyy}" [/COLOR]HeaderText="PERIODO" 
                    SortExpression="PERIODO" />
 
A ver.... tengo uan dudita, lo hice en VB pero fue con un codigo que encontre, no lo hice yo :S ...


Me gustaria hacer que un formulario tuviera un comportamiento similar al del menu de inicio, pero en vez de hacerlo con un boton que sea con un ComboBox, lo hice con este codigo, pero quiero hacerlo con C# y no creo que sea necesaria la API de windows que usa la clase que lo llama :s

DataGridView desplegable


SuerteX :)
 
pues debe ser identico en C# no le veo problema,
creas un formulario a manera de dialogo, sin bordes ni nada, alli colocas el datagrid

en el evento click o key down segun necesites haces show al dialogo el cual debe ponerse justo debajo del combo box...
 
pues debe ser identico en C# no le veo problema,
creas un formulario a manera de dialogo, sin bordes ni nada, alli colocas el datagrid

en el evento click o key down segun necesites haces show al dialogo el cual debe ponerse justo debajo del combo box...

He tratado, pero el compotamiento que tiene el ejemplo que puse es identico al de el menu de inicio y los que hago no :S, ademas quiero hacerlo con un formulario normal, no creado desde una clase, ya que el mantenimiento de este es mas incomodo, en cambio si lo hago con el ide es mucho mas facil mantenerlo :).

Realmente lo que pasa es que el form comienza a dibujarse exactamente desde la parte inferior del combobox y no he encontrado una forma de hacerlo funcar de esa forma... :s... tendre que leer el codigo bien a ver si lo hago y luego muestro como hacerlo

otra cosa que no entiendo es esto:

PHP:
' función PostMessage para cancelar el DropDown   
    Private Const CB_SHOWDROPDOWN As Integer = &H14F   
    Private Declare Function PostMessage _   
        Lib "user32" _   
        Alias "PostMessageA" ( _   
            ByVal hwnd As IntPtr, _   
            ByVal wMsg As Integer, _   
            ByVal wParam As Integer, _   
            ByVal lParam As Integer) As Integer

Suertex :)
 
He tratado, pero el compotamiento que tiene el ejemplo que puse es identico al de el menu de inicio y los que hago no :S, ademas quiero hacerlo con un formulario normal, no creado desde una clase, ya que el mantenimiento de este es mas incomodo, en cambio si lo hago con el ide es mucho mas facil mantenerlo :).

Realmente lo que pasa es que el form comienza a dibujarse exactamente desde la parte inferior del combobox y no he encontrado una forma de hacerlo funcar de esa forma... :s... tendre que leer el codigo bien a ver si lo hago y luego muestro como hacerlo

otra cosa que no entiendo es esto:

PHP:
' función PostMessage para cancelar el DropDown   
    Private Const CB_SHOWDROPDOWN As Integer = &H14F   
    Private Declare Function PostMessage _   
        Lib "user32" _   
        Alias "PostMessageA" ( _   
            ByVal hwnd As IntPtr, _   
            ByVal wMsg As Integer, _   
            ByVal wParam As Integer, _   
            ByVal lParam As Integer) As Integer
Suertex :)

... eso es la API de Windows... estan utilizando interoperabilidad, pero crei que ya lo habías visto.

eso lo estan usando para mas abajo:
PHP:
' Cancelar el DropDown con PostMessage, y mostrar o cerrar la lista      
Private Sub m_ComboBox_MouseDown( _          
                    ByVal sender As Object, _          
                    ByVal e As System.Windows.Forms.MouseEventArgs) _              
  Handles m_ComboBox.MouseDown            
  PostMessage(m_ComboBox.Handle, CB_SHOWDROPDOWN, 0, 0)            
  showList()      
End Sub
en el evento mouseDown de la lista cancelar la accion de despliegue del combo box...

Tampoco es necesario que hagas la forma por fuera del diseñador, con el propio diseñador lo puedes hacer, aunque puede nisiquiera ser necesario utilizar otra forma.
 
... eso es la API de Windows... estan utilizando interoperabilidad, pero crei que ya lo habías visto.

eso lo estan usando para mas abajo:
PHP:
' Cancelar el DropDown con PostMessage, y mostrar o cerrar la lista      
Private Sub m_ComboBox_MouseDown( _          
                    ByVal sender As Object, _          
                    ByVal e As System.Windows.Forms.MouseEventArgs) _              
  Handles m_ComboBox.MouseDown            
  PostMessage(m_ComboBox.Handle, CB_SHOWDROPDOWN, 0, 0)            
  showList()      
End Sub
en el evento mouseDown de la lista cancelar la accion de despliegue del combo box...

Tampoco es necesario que hagas la forma por fuera del diseñador, con el propio diseñador lo puedes hacer, aunque puede nisiquiera ser necesario utilizar otra forma.

Si lo vi, pero es que no conozco mucho de las API's :S... si te fijas en el codigo de la pagina el man trabaja todo el formulario desplegable y sus comportamientos desde una clase, y es lo que quiero evitar hacer ;)

Por cierto, ahi vi los requisitos para ser MVP, pero primero tengo que aprender mas para optar a serlo :(


SuerteX :)
 
Si lo vi, pero es que no conozco mucho de las API's :S... si te fijas en el codigo de la pagina el man trabaja todo el formulario desplegable y sus comportamientos desde una clase, y es lo que quiero evitar hacer ;)

Mira, esa implementación no me gusta mucho, el form lo puedes hacer desde el diseñador, pero incluso es posible hacerlo sin utilizar uno.

mira yo lo acabo de hacer así lo cual me parece mucho mejor

Parea esto debes crear el grid y el combo en tiempo de diseño en sus respectivas posiciones, luego colocas la propiedad Visible del grid en false, despues de eso haces esto:

PHP:
        const int CB_SHOWDROPDOWN = 0x14F;
        [DllImport("user32.dll")]
        static extern bool PostMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
lo cual no es más que traer por interoperabilidad a la función PosMessage de la API de windwos, esta funcion envia un mensaje al bucle de mensajes de un control.

Parametros: handler al control, un mensaje, wParam y lParam para pasar información necesaria según el mensaje.

Como mensaje pasamos CB_SHOWDROPDOWN que es el mensaje usado para hacer dropdown de un comboBox.

Por esto se usara esa función asi:

PHP:
            PostMessage(comboBox1.Handle, CB_SHOWDROPDOWN, 0, 0);
de tal forma que al combobox le enviaremos un mensaje CB_SHOWDROPDOWN , con parémtro 0 que es algo asi como ignorar el mensaje, el otro parametro en 0 porque no nos importa.

ahora modificamos el evento DropDown del combo box, para que solo funcione al hacer click en la flecha:
PHP:
private void comboBox1_DropDown(object sender, EventArgs e)
        {
            PostMessage(comboBox1.Handle, CB_SHOWDROPDOWN, 0, 0);
            
            if (dataGridView1.Visible)
                dataGridView1.Visible = false;
            else
                dataGridView1.Visible = true;
        }
Y finalmente nos aseguramos que en nuestro form, ese control sea siempre el mas visible de todos, modificamos el evento Form_Load
PHP:
        private void Form1_Load(object sender, EventArgs e)
        {
            dataGridView1.BringToFront();
        }
Si se hace lo del formulario queda mejor porque no necesariamente tienes que ver el grid en tiempo de diseño, aunque eso es un problema menor.

Por cierto, ahi vi los requisitos para ser MVP, pero primero tengo que aprender mas para optar a serlo :(


SuerteX :)
Pues dale, ojala yo pueda quedar nominado de nuevo este año, por que es bien difícil.

----
ADENDO
----
Para mejorar la visualización al ComboBox establece en tiempo de diseño la porpiedad DrawMode del ComboBox = OwnerDrawVariable

Asi como lo he dejado no necesitas de boton cerrar ni nada por el estilo, bastara con hacer click en la flechita del combobox
 
  • Me gusta
Reacciones: 2 personas
hola, que pena otra vez molestando :nervios:, como hago para redirigir a una pagina dentro de un proyecto Web Aplication con C#?

se que es Response.Redirect(pagina.aspx), tengo varias paginas aspx dentro de un proyeco, el inicial, de acuerdo a unos parametros que se escoja lo debe mandar a una pagina especifica dentro del proyecto, ya lo hice con el Response.Redirect y me sale Object moved to here y luego una pagina con "HTTP Error 400 - Bad Request." , busque info acerca de esto y solo encontre un fix para el framework 1.1 , entonces como debo hacerlo?

gracias.
 
Man, lease este manual de introduccion a ASP.NET http://cid-84ec702dcb1f0425.skydrive.live.com/browse.aspx/.Public/ASP.Net tiene el codigo en Visual Basic, pero es facil trasladarlo a C# ... se lo recomiendo, esta en espanyol y tiene videos ahi aprendera mas rapido ;)


Edit:

Si es un boton vaya a PostBackUrl y ahi puede seleccionar la pagina que desea.

Si es un HyperLink vaya a NavigateUrl.

Y en un LinkButton vaya a y seleccion la pagina que quiere llamar en PostBackUrl.


Ahi puede buscar la de los otros componentes ;)

SuerteX ;)
 
Man, lease este manual de introduccion a ASP.NET http://cid-84ec702dcb1f0425.skydrive.live.com/browse.aspx/.Public/ASP.Net tiene el codigo en Visual Basic, pero es facil trasladarlo a C# ... se lo recomiendo, esta en espanyol y tiene videos ahi aprendera mas rapido ;)


Edit:

Si es un boton vaya a PostBackUrl y ahi puede seleccionar la pagina que desea.

Si es un HyperLink vaya a NavigateUrl.

Y en un LinkButton vaya a y seleccion la pagina que quiere llamar en PostBackUrl.


Ahi puede buscar la de los otros componentes ;)

SuerteX ;)

como te fue con lo de ayer?
 
Man, lease este manual de introduccion a ASP.NET http://cid-84ec702dcb1f0425.skydrive.live.com/browse.aspx/.Public/ASP.Net tiene el codigo en Visual Basic, pero es facil trasladarlo a C# ... se lo recomiendo, esta en espanyol y tiene videos ahi aprendera mas rapido ;)


Edit:

Si es un boton vaya a PostBackUrl y ahi puede seleccionar la pagina que desea.

Si es un HyperLink vaya a NavigateUrl.

Y en un LinkButton vaya a y seleccion la pagina que quiere llamar en PostBackUrl.


Ahi puede buscar la de los otros componentes ;)

SuerteX ;)

muchas gracias... mucho n00b yo, habia creado un proyecto por cada pagina asp... ahora ya agregue todas las paginas aspx dentro de un solo proyecto y ahi ya me salen para seleccionarlas en postbackurl y ya pude enviar parametros y recibirlos en la otra pagina.... lo de ASP.net hace dos años que mire eso en la U y ahora que ya estoy camellando me hace falta, toca ponerse a repasar nuevamente:)
 
problemas con el datagrid

Hola a todos soy estudiante de ingeniería de sistema estoy haciendo un proyecto para la materia de base de datos el problema que tengo en realidad son 2:

1.- realizo una consulta que me llena mi datagrid que tiene en cada columna y en una columna debería poder modificar los datos que tienen y las demás no , edite las columna para poder poner enables las que quería pero la consulta que realizo aparece a lado de mis columnas editas a las cuales algunas ya están enables como puedo resolver este problema.


2.- en mi datagrid en la columna que si puedo modificar solo quiero que acepte formato hora es decir “09:30” y no pueda escribir nada mas.

De antemano agradezco su ayuda.
 
muchas gracias... mucho n00b yo, habia creado un proyecto por cada pagina asp... ahora ya agregue todas las paginas aspx dentro de un solo proyecto y ahi ya me salen para seleccionarlas en postbackurl y ya pude enviar parametros y recibirlos en la otra pagina.... lo de ASP.net hace dos años que mire eso en la U y ahora que ya estoy camellando me hace falta, toca ponerse a repasar nuevamente:)

No se preocupe man.... pero como le dije arriba, lease el manual que le puse, se lo recomiendo 100% ;)

Hola a todos soy estudiante de ingeniería de sistema estoy haciendo un proyecto para la materia de base de datos el problema que tengo en realidad son 2:

1.- realizo una consulta que me llena mi datagrid que tiene en cada columna y en una columna debería poder modificar los datos que tienen y las demás no , edite las columna para poder poner enables las que quería pero la consulta que realizo aparece a lado de mis columnas editas a las cuales algunas ya están enables como puedo resolver este problema.


2.- en mi datagrid en la columna que si puedo modificar solo quiero que acepte formato hora es decir “09:30” y no pueda escribir nada mas.

De antemano agradezco su ayuda.


IDEM que al man MædCo, ahi esta todo lo que busca ;)

como te fue con lo de ayer?

No he tenido mucho tiempo, estoy leyendo para la 4ta estrella de WPF, de la 1ra estrella el 8vo examen de PCE SQL Server 2005 y un libro Visual C# 2008 Step By Step.... pero tranquilo que de que lo hago, lo hago.... pero queria saber sobre ese metodo que planteee y por fin lo entendi mejor con su explicacion... tnx man ;)

SurteX :)
 
OIgan una pregunta, hay controles de terceros que sean gratuitos para Winform, al estilo de los Dvexpress pero que sean Free y que se puedan usar en desarrollos comerciales ya que los controles que trae Winform por defecto son muy cuadriculados en cuanto a diseño y no permiten mucho en cuanto a la apariencia.
 
OIgan una pregunta, hay controles de terceros que sean gratuitos para Winform, al estilo de los Dvexpress pero que sean Free y que se puedan usar en desarrollos comerciales ya que los controles que trae Winform por defecto son muy cuadriculados en cuanto a diseño y no permiten mucho en cuanto a la apariencia.
pues de que hay hay varios por hay...

pero pues aprovechar mejor y migrar a WPF no?
 
pues de que hay hay varios por hay...

pero pues aprovechar mejor y migrar a WPF no?


Bueno pues viendolo asi es mejor la migracion, solo seria estudiar un poco lo WPF, oye cuando yo hice el programa de DCE recuerdo que habian casos donde podian usar controles winforms en WPF y viceversa.

Gracias por la idea
 
Oiga JuanK, he estado mirando que WPF no trae un control DataGridView, hay que hacer referencia al de Winform y queda visualmente horrible, y este control es muy importante en el desarrollo que estoy haciendo. Valla he estado leyendo y me encuentro que si quiero algo bonito me toca pagar por ello.

Si no me equivoco y esto resulta verdad, con el amor que le tengo a .NET y Microsoft, se le fue la liebre con este tema. sequire investigando y les cuento .
 
No se como este el tema hoy dia, pero si mal no recuerdo ahora si que hay un control dataGridview en WPF, o es en framework 4.0?
no recuerdo pero por ahi puedes comenzar a investigar
 

Los últimos temas