Wednesday, March 9, 2011

String.Empty vs EnTre ComiLLas VaCiAs

Cuando necesito crear/reiniciar o limpiar variables de string o cajas de texto, solía hacerlo de ambas formas:

Me.txtNombre.text = String.Empty()
Me.txtNombre.text = ""

Las usaba de la misma manera pero luego me pregunté cuál es la diferencia y si alguna forma es mejor que la otra.

Cuando usamos las comillas, se crea un nuevo objeto en la memoria. Mientras que cuando se utiliza String.Empty(), no se crea nada. Por tanto, para la buena administración de memoria, es preferible usar String.Empty()

A utilizar String.Empty() !!!

Good Coding...

Thursday, March 3, 2011

Datatable y DataKeyNames

DataKeyNames permite agregarle un array de campos llaves que se usarán para seleccionar un registro dentro del datatable. Al menos yo lo utilizo para hacer un select con esa llave o conjunto de llaves. Solía usar siempre solo un item para el array. Pero cuando me tocó usar más de uno, no supe hacerlo. Pero ya lo hice, jajaja :p Es sencillo, es com sigue:

Por ejemplo, cuando sólo era uno, por código yo lo llenaba así:
Me.grvResultado.DataKeyNames = New String() {Me.pNombrePrimaryKey}

Pero cuando me tocó llenar con más de uno, fue asi:

Me.grvResultado.DataKeyNames = New String() {Me.strNombrePrimaryKey, Me.strKeySecundaria}

(Sin embargo, si lo querés hacer por diseño, podes seleecionar tu gridview, ir a sus propiedades y en donde dice: "DataKeyNames", agregar los campos llaves separados por coma.)

En el evento de tu gridview RowDataBound, hay que llenar el CommandArgument

If e.Row.RowType = DataControlRowType.DataRow Then
Dim lnkSeleccionar As LinkButton = CType(e.Row.Cells(0).Controls(0), LinkButton)
lnkSeleccionar.CommandArgument = Me.grvResultado.DataKeys(e.Row.RowIndex).Values(0) & "," & Me.grvResultado.DataKeys(e.Row.RowIndex).Values(1)
End If

El Values(0) es el primer campo llave, el Values(1) es segundo, y así sucesivamente. Fijate que están separados por coma.

Luego en el evento de tu gridview RowCommand, desglosas tu array de llaves.

Dim valores() As String = e.CommandArgument.ToString().Split(",")
Dim valor1 As String = valores(0)
Dim valor2 As String = valores(1)

Y mi Select sería así:

dt.Select(Me.strNombrePrimaryKey & "=" & valor1 & " AND " & Me.strKeySecundaria & "=" & valor2)

Happy Codding =)

Tuesday, February 15, 2011

Cómo cuidar La pantalla LCD De Tu portatil

La pantalla de una notebook / laptop es realmente frágil y delicada. Hay que cuidarla mucho =)

Cómo? A continuación algunos tips:

**Empieza apagando tu máquina, no la limpies en encendido ya que así podrás distinguir fácilmente la suciedad.

**Elije un paño muy suavecito, nada de áspero, papeles, o cualquier otra cosa.

**Limpiala con delicadeza, nunca ejerzas presión.

Qué líquido se recomienda para limpiar la pantalla?

---Agua destilada.

---Vinagre o Alcohol isopropílico (ideal porque no deja rastro de humedad al evaporarse).

NUNCA USES agua común. Pueden dejar manchas blancas en la pantalla a causa de las sales disueltas.
Disuelve el vinagre o el alcohol isopropílico en el agua destilada (una medida de vinagre o alcohol igual que la de agua).
Puedes poner la mezcla en un rociador, para mojar la tela con la que vas a limpiar. NUNCA rocíes directamente la pantalla.
La forma correcta de limpiar es con la tela suave un poco humedecida. Pásala siempre en la misma dirección, de ARRIBA hacia ABAJO, con suavidad, sin refregar ni presionar la pantalla.

Otros consejos para tomar en cuenta:

**Asegúrate de que la pantalla de tu laptop esté absolutamente seca antes de cerrar la tapa o encenderla de nuevo.

**Nunca toques la pantalla con los dedos, puedes hacer que se quemen los píxeles.

**Nunca uses soluciones que contengan acetona, alcohol etílico, tolueno, ácido etílico, amoníaco o cloruros.

**Puedes usar un filtro de privacidad para laptops, que además de protegerla de rayaduras y suciedad evitará que se vea en lo que estás trabajando desde los costados, sin distorsionar la imagen para tí que la ves de frente.

Finalmente, UN VIDEO EDUCATIVO

Thursday, January 20, 2011

FiLas a Un DataTable

Cómo agregar un array de filas a un datatable en una sola línea de código? Pues yo quería eso pero no encontré.
La situación es que obtuve un array de filas que pertenece a un datatable. Este array se lo quiero agregar a otro datatable. Si se lo hacemos por la porpiedad "ADD", sale un mensaje de que no se puede hacer ya que esas filas pertenecen a otro datatable.
Asi que para ello, se usa el "IMPORTROW"

De esta manera:
dr es un DataRow() de un datatable1 con las filas.
creamos otro datatable2 y le hacemos un for al dr

For d As Integer = 0 To dr.Count - 1
Dim row As DataRow = datatable2 .NewRow
row = dr(d)
datatable2 .ImportRow(row)
Next

Wednesday, January 19, 2011

La columna x es de solo lectura

La columna x es de solo lectura
DataTable, Asp.NET

A veces necesitamos editar ciertas columnas de un datatable, sobreescribirlas. Pero puede que nos encontremos con el problema de que el visual studio nos salte el siguiente mensaje "La columna 'x' es de solo lectura".
Con el siguiente código lo solucionamos (código en VB.NET) y ya luego de esa línea podemos sobreescribir lo que querramos:

dt.Columns("x").ReadOnly = False


Sencillo, no?