<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>El Sotano .Net</title>
	<atom:link href="http://www.elsotano.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.elsotano.net</link>
	<description>Hazlo simple: tan simple como sea posible, pero no más.</description>
	<lastBuildDate>Thu, 22 Mar 2012 20:40:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Manejar Checkbox con Jquery</title>
		<link>http://www.elsotano.net/manejar-checkbox-con-jquery/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=manejar-checkbox-con-jquery</link>
		<comments>http://www.elsotano.net/manejar-checkbox-con-jquery/#comments</comments>
		<pubDate>Thu, 22 Mar 2012 20:39:16 +0000</pubDate>
		<dc:creator>Sergio Inzunza</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[check]]></category>
		<category><![CDATA[checkbox]]></category>
		<category><![CDATA[uncheck jquery]]></category>

		<guid isPermaLink="false">http://www.elsotano.net/?p=757</guid>
		<description><![CDATA[Quieres manejar checkbox con jQuery, marcarlo(set check), desmarcarlo(uncheck) o obtener el valor que tiene. El codigo es muy fácil, a continuación un ejempplo: Para obtener el valor actual [crayon-4fb9046a4915a/] Para marcar y desmarcar [crayon-4fb9046a4b867/] Y eso es todo, asi de simple y rápido]]></description>
			<content:encoded><![CDATA[<p>Quieres manejar checkbox con jQuery,  marcarlo(set check), desmarcarlo(uncheck) o obtener el valor que tiene.<br />
El codigo es muy fácil, a continuación un ejempplo:</p>
<p>Para obtener el valor actual</p><pre class="crayon-plain-tag">alert($('#chkBox').is(':checked'));</pre><p></p>
<p>Para marcar y desmarcar</p><pre class="crayon-plain-tag">$('#chkBox').attr('checked', true);
$('#chkBox').attr('checked', false);</pre><p></p>
<p>Y eso es todo, asi de simple y rápido</p>
<div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.elsotano.net/manejar-checkbox-con-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TimThumb &#8211; Could not create the file cache directory</title>
		<link>http://www.elsotano.net/timthumb-could-not-create-the-file-cache-directory/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=timthumb-could-not-create-the-file-cache-directory</link>
		<comments>http://www.elsotano.net/timthumb-could-not-create-the-file-cache-directory/#comments</comments>
		<pubDate>Wed, 21 Mar 2012 02:53:09 +0000</pubDate>
		<dc:creator>Sergio Inzunza</dc:creator>
				<category><![CDATA[basico]]></category>
		<category><![CDATA[file directory]]></category>
		<category><![CDATA[TimThumb]]></category>
		<category><![CDATA[wordpress cache]]></category>

		<guid isPermaLink="false">http://www.elsotano.net/?p=735</guid>
		<description><![CDATA[Hola Amigos, hoy me enfrente a un pequeño pero no por eso menos desesperante problema. Al cambiar el tema visual de este blog, los Thumnails que pueden ver en la pagina principal no se creaban correctamente y aparecia el error &#8220;A TimThumb error has occuredThe following error(s) occured:Could not create [...]]]></description>
			<content:encoded><![CDATA[<p>Hola Amigos, hoy me enfrente a un pequeño pero no por eso menos desesperante problema.<br />
Al cambiar el tema visual de este blog, los Thumnails que pueden ver en la pagina principal no se creaban correctamente y aparecia el error</p>
<p>&#8220;<strong>A TimThumb error has occuredThe following error(s) occured:Could not create the file cache directory</strong>&#8220;,<br />
el problema era del plugin que utiliza el theme para crearlo.</p>
<p>Mas concretamente es que el plugin TimThum utiliza el folder cache para almacenar dicha info y ese folder por defecto no estaba creado en la estructura del theme de WPZOOM.</p>
<p>La solución es muy sencilla, solo tenemos que crear un folder llamado <strong>cache </strong>en /opt/bitnami/apps/wordpress/htdocs/wp-content/themes/TEMA/scripts y asignarle permisos 775.</p>
<div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.elsotano.net/timthumb-could-not-create-the-file-cache-directory/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows ALT Acentos Mayusculas / Minusculas</title>
		<link>http://www.elsotano.net/windows-alt-acentos-mayusculas-minusculas/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=windows-alt-acentos-mayusculas-minusculas</link>
		<comments>http://www.elsotano.net/windows-alt-acentos-mayusculas-minusculas/#comments</comments>
		<pubDate>Fri, 17 Feb 2012 19:34:15 +0000</pubDate>
		<dc:creator>Sergio Inzunza</dc:creator>
				<category><![CDATA[basico]]></category>
		<category><![CDATA[acentos]]></category>
		<category><![CDATA[alt]]></category>
		<category><![CDATA[tecnologia]]></category>
		<category><![CDATA[windows acentos]]></category>

		<guid isPermaLink="false">http://www.elsotano.net/?p=720</guid>
		<description><![CDATA[Hola, el día de hoy quiero publicar este post, simple, rápido y de utilidad (para algunos).&#160; Se trata de la lista de caracteres ASCII para poner los tan amados acentos de nuestro idioma español.&#160; &#160; Para minúsculas: Alt + 0225/160 = á Alt + 0233/130 = é Alt + 0237/161 [...]]]></description>
			<content:encoded><![CDATA[<p>Hola, el día de hoy quiero publicar este post, simple, rápido y de utilidad (para algunos).&nbsp;</p>
<p>Se trata de la lista de caracteres ASCII para poner los tan amados acentos de nuestro idioma español.&nbsp;</p>
<p>&nbsp;</p>
<p><strong>Para minúsculas:</strong></p>
<p>Alt + 0225/160 = á<br />
Alt + 0233/130 = é<br />
Alt + 0237/161 = í<br />
Alt + 0243/162 = ó<br />
Alt + 0250/163 = ú<br />
Alt + 0252/129 = ü<br />
Alt + 0241/164 = ñ</p>
<p>&nbsp;</p>
<p><strong>Para mayúsculas</strong>:</p>
<p>Alt + 0193 = Á<br />
Alt + 0201 = É<br />
Alt + 0205 = Í<br />
Alt + 0211 = Ó<br />
Alt + 0218 = Ú<br />
Alt + 0220 = Ü<br />
Alt + 0209 = Ñ</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.elsotano.net/windows-alt-acentos-mayusculas-minusculas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C# ASP.NET Llamar Funcion de Jquery/Javascript desde Codigo</title>
		<link>http://www.elsotano.net/csharp_jquery_codebehind/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=csharp_jquery_codebehind</link>
		<comments>http://www.elsotano.net/csharp_jquery_codebehind/#comments</comments>
		<pubDate>Wed, 15 Feb 2012 04:53:46 +0000</pubDate>
		<dc:creator>Sergio Inzunza</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C# - Ejemplos y Trucos]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[code behind]]></category>

		<guid isPermaLink="false">http://www.elsotano.net/?p=674</guid>
		<description><![CDATA[Para llamar una Función de jQuery o JavaScript desde Código(Code Behind) en C#, solo necesitamos una linea de código: [crayon-4fb9046a4df67/]]]></description>
			<content:encoded><![CDATA[<p>Para llamar una Función de jQuery o JavaScript desde Código(Code Behind) en C#, solo necesitamos una linea de código:</p>
<p></p><pre class="crayon-plain-tag">ScriptManager.RegisterStartupScript(this, this.GetType(), &quot;starScript&quot;, &quot;&lt;strong&gt;myFuncion()&lt;/strong&gt;;&quot;, true);</pre><p></p>
<div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.elsotano.net/csharp_jquery_codebehind/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Libreria C# CBB QRcode ISO/IEC 18004:2000 GRATIS</title>
		<link>http://www.elsotano.net/sat-cfdi-cbb/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=sat-cfdi-cbb</link>
		<comments>http://www.elsotano.net/sat-cfdi-cbb/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 02:33:38 +0000</pubDate>
		<dc:creator>Sergio Inzunza</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C# - Ejemplos y Trucos]]></category>
		<category><![CDATA[Factura Electronica]]></category>
		<category><![CDATA[CBB]]></category>
		<category><![CDATA[CFDI]]></category>
		<category><![CDATA[CODIGO BARRAS]]></category>
		<category><![CDATA[ISO/IEC 18004:2000]]></category>
		<category><![CDATA[QRCode]]></category>
		<category><![CDATA[SAT]]></category>
		<category><![CDATA[SAT CFDI]]></category>

		<guid isPermaLink="false">http://www.elsotano.net/?p=666</guid>
		<description><![CDATA[Hola, hoy quiero compartir con las personas que como yo, necesitamos implementar el Código de Barras Bidemensional (CBB) que el SAT pide como requisito para la representacion impresa de un comprobante fiscal digital por internet (CFDI). Asi es, les proporciono la libreria DLL para generar el QRcode en formato ISO/IEC [...]]]></description>
			<content:encoded><![CDATA[<p>Hola, hoy quiero compartir con las personas que como yo, necesitamos implementar el Código de Barras Bidemensional (CBB) que el SAT pide como requisito para la representacion impresa de un comprobante fiscal digital por internet (CFDI).</p>
<p>Asi es, les proporciono la libreria DLL para generar el QRcode en formato ISO/IEC 18004:2000 como lo pide el SAT, y gratis.<br />
<span id="more-666"></span><br />
Sí, GRATIS, puesto que es la forma que yo lo consegui, y gracias al apoyo del propio autor del DLL, pude modificar el DLL para que genere en código de barras en el formato correcto (ISO/IEC 18004:2000)</p>
<p></p><pre class="crayon-plain-tag">using System.Drawing;
using Gma.QrCodeNet.Encoding;
using Gma.QrCodeNet.Encoding.Windows.Controls;

string eRFC = &quot;RFC EMISOR&quot;;
string rRFC = &quot;RFC RECEPTOR&quot;;
string Total = String.Format(&quot;{0:0000000000.000000}&quot;, TOTAL_doubleVar);
string UUID = &quot;UUID TIMBRE&quot;;
string DatoCBB = &quot;?re=&quot; + eRFC + &quot;&amp;amp;rr=&quot; + rRFC + &quot;&amp;amp;tt=&quot; + Total + &quot;&amp;amp;id=&quot; + UUID;
string fileName =&quot;RUTA/QRCode.png&quot;;

QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H);
QrCode qrCode = qrEncoder.Encode(DatoCBB);

Renderer renderer = new Renderer(5, Brushes.Black, Brushes.White);
renderer.CreateImageFile(qrCode.Matrix, fileName, System.Drawing.Imaging.ImageFormat.Png);</pre><p><br />
Y eso es todo, con tan pocas lineas (que pueden reducirse mucho mas) ya podemos generar el QRcode.<br />
Te sirvio ? entonces,<span style="color: #ff6600;"> puedes apoyarme con 1 click en los anuncion ?</span></p>
<a href="http://dl.dropbox.com/u/626927/Gma.QrCodeNet.Encoding.dll"class="wpz-sc-button  custom" style="background:;border-color:"><span class="wpz-"> Descargar Libraria </span></a>
<div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.elsotano.net/sat-cfdi-cbb/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ASP formato de fecha a columna de Grid</title>
		<link>http://www.elsotano.net/asp-gridview-dateformat/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=asp-gridview-dateformat</link>
		<comments>http://www.elsotano.net/asp-gridview-dateformat/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 18:25:28 +0000</pubDate>
		<dc:creator>Sergio Inzunza</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[asp grid]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[column format]]></category>
		<category><![CDATA[dateformat]]></category>
		<category><![CDATA[Gridview]]></category>

		<guid isPermaLink="false">http://www.elsotano.net/?p=655</guid>
		<description><![CDATA[Si estas buscando una forma de darle formato de fecha a una columna de un gridview de Asp.net, estas en el lugar indicado. Es muy simple, lo único que se debe hacer es poner el htmlencode a false y poner la format string en la columna que necesitamos. [crayon-4fb9046a52d8a/]]]></description>
			<content:encoded><![CDATA[<p>Si estas buscando una forma de darle formato de fecha a una columna de un gridview de Asp.net, estas en el lugar indicado.</p>
<p>Es muy simple, lo único que se debe hacer es poner el htmlencode a false y poner la format string en la columna que necesitamos.</p>
<p></p><pre class="crayon-plain-tag">&lt;asp:BoundField DataField=&quot;fecha&quot; HeaderText=&quot;Fecha&quot; dataformatstring=&quot;{0:dd/MMM/yyyy}&quot;&gt;</pre><p></p>
<div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.elsotano.net/asp-gridview-dateformat/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hack para ie6 &amp; ie7 para [ css inline-block ie7 ]</title>
		<link>http://www.elsotano.net/hack-ie7-inline-block/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=hack-ie7-inline-block</link>
		<comments>http://www.elsotano.net/hack-ie7-inline-block/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 01:14:23 +0000</pubDate>
		<dc:creator>Sergio Inzunza</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[css hack]]></category>
		<category><![CDATA[css ie6]]></category>
		<category><![CDATA[css ie7]]></category>
		<category><![CDATA[inline-block]]></category>

		<guid isPermaLink="false">http://www.elsotano.net/?p=600</guid>
		<description><![CDATA[&#160; Si están como estuve yo hace unos momentos, sufriendo por no encontrar la forma que funciones el comando Display: inline-block de css para ie6 &#38; ie7, ya puedes dejar de maldecir a Microsoft (No es Obligatorio, bien puedes seguir haciéndolo), pues he aquí el la solución (hack) para que [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>Si están como estuve yo hace unos momentos, sufriendo por no encontrar la forma que funciones el comando Display: inline-block de css para ie6 &amp; ie7, ya puedes dejar de maldecir a Microsoft (No es Obligatorio, bien puedes seguir haciéndolo), pues he aquí el la solución (hack) para que esto funcione.</p>
<p>Y es muy simple, solo hay que poner en css zoom:1; y posteriormente cambiamos el display para inline solamente, y nos aseguramos de agregar un * al inicio para que solo sea interpretado por los IE problemáticos y no nos mueva nada de los navegadores de verdad.</p>
<p></p><pre class="crayon-plain-tag">.inlineBlockHack
{
  zoom:1;
  *display: inline;
}</pre><p></p>
<div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.elsotano.net/hack-ie7-inline-block/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Manejar ComboBox [Html Select] con jQuery</title>
		<link>http://www.elsotano.net/jquery-combobox/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=jquery-combobox</link>
		<comments>http://www.elsotano.net/jquery-combobox/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 02:19:49 +0000</pubDate>
		<dc:creator>Sergio Inzunza</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[combobox selected index]]></category>
		<category><![CDATA[combobox selected text]]></category>
		<category><![CDATA[jquery combobox]]></category>
		<category><![CDATA[jquery select]]></category>
		<category><![CDATA[jquery selected index]]></category>

		<guid isPermaLink="false">http://www.elsotano.net/?p=593</guid>
		<description><![CDATA[&#160; Si lo que necesitamos son algunas funciones básicas para manejar un combobox con jQuery, estás en el post indicado, a continuación están los fragmentos de código para ello. 1.- Cachar el evento de selected index changedel ComboBox [crayon-4fb9046a58a4e/] 2.- Obtener el index del elemento seleccionado [get selected index] [crayon-4fb9046a5b15d/] [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>Si lo que necesitamos son algunas funciones básicas para manejar un combobox con jQuery, estás en el post indicado, a continuación están los fragmentos de código para ello.</p>
<p>1.- Cachar el evento de <strong>selected index change</strong>del ComboBox</p>
<p></p><pre class="crayon-plain-tag">$('#cmbID').change(function () {
// su codigo va aqui
});</pre><p>2.- Obtener el index del elemento seleccionado <strong>[get selected index]</strong></p><pre class="crayon-plain-tag">$('#cmbID').attr(&amp;quot;selectedIndex&amp;quot;)</pre><p></p>
<p>3.- Establecer el index del elemento seleccionado <strong><em>[set selected index]</em></strong></p><pre class="crayon-plain-tag">$('#cmbID option').eq(1).attr('selected', 'selected');</pre><p></p>
<p>4.- Obtener el texto del elemento seleccionado <strong><em>[get selected item]</em></strong></p><pre class="crayon-plain-tag">$('#cmbID option:selected').val()</pre><p></p>
<div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.elsotano.net/jquery-combobox/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>&#8220;No hay nada más peligroso que un tonto con ganas de trabajar&#8221;</title>
		<link>http://www.elsotano.net/frase1/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=frase1</link>
		<comments>http://www.elsotano.net/frase1/#comments</comments>
		<pubDate>Tue, 27 Dec 2011 05:29:07 +0000</pubDate>
		<dc:creator>Sergio Inzunza</dc:creator>
				<category><![CDATA[Frases]]></category>

		<guid isPermaLink="false">http://www.elsotano.net/?p=501</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[]]></content:encoded>
			<wfw:commentRss>http://www.elsotano.net/frase1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Imprimir un PDF desde asp.net y C#</title>
		<link>http://www.elsotano.net/imprimir-pdf-asp-net/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=imprimir-pdf-asp-net</link>
		<comments>http://www.elsotano.net/imprimir-pdf-asp-net/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 05:17:06 +0000</pubDate>
		<dc:creator>Sergio Inzunza</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C# - Ejemplos y Trucos]]></category>
		<category><![CDATA[C# Imprimrir WEB]]></category>
		<category><![CDATA[C# Pdf]]></category>
		<category><![CDATA[Imprimir desde ASP.net]]></category>
		<category><![CDATA[Imprmir PDF]]></category>

		<guid isPermaLink="false">https://inxunxa.wordpress.com/?p=450</guid>
		<description><![CDATA[Hola, si necesitar que tu aplicacion asp.net con c# pueda generar PDF y mandarlos imprimir automaticamente, pues te comento que no se pude por cuestiones de seguridad el codigo de la aplicacion no tiene permisos para mandar un archivo a la impresora. Pero tranquilo eso no significa que no exista [...]]]></description>
			<content:encoded><![CDATA[<p>Hola, si necesitar que tu aplicacion asp.net con c# pueda generar PDF y mandarlos imprimir automaticamente, pues te comento que no se pude por cuestiones de seguridad el codigo de la aplicacion no tiene permisos para mandar un archivo a la impresora.</p>
<p>Pero tranquilo eso no significa que no exista un solucion, la solucion es la siguiente:<span id="more-450"></span><br />
<br />
1.- Generar el PDF que deseamos imprimir (es tema para otro post, yo actualmente genero un reporte de Crystal reports y desde codigo lo exporto a PDF).</p>
<p>2.- Utilizando iTextSharp podemos modificar dicho PDF y lo que hacemos es agregarle un pequeño script para que cuando el pdf se abra le aparesca al usuario la ventana para seleccionar la impresora.</p>
<p>3.- Al usuario le mandamos una nueva ventana emergente con un iFrame para que desplegue el PDF, tras lo cual le aparecerá al usuario las opciones para imprimir el pdf.</p>
<p>Pues bien, lo de descargar e importar el iTextSharp se los dejo a ustedes, yo les aporto el codigo para abrir y modificar el PDF. He aquí la función:<br />
</p><pre class="crayon-plain-tag">public static void AgregarPrintScript(string Original, string Copia)
{
PdfReader reader = new PdfReader(Original);
PdfStamper stamper = new PdfStamper(reader, new FileStream(Copia, FileMode.Create));
AcroFields fields = stamper.AcroFields;
stamper.JavaScript = &amp;quot;this.print(true);r&amp;quot;;
stamper.FormFlattening = true;
stamper.Close();
reader.Close();
}</pre><p></p>
<p>Lo que la función recibe dos parametros, string Origina (el path a donde esta guardado el pdf) y Copi (el path en donde queremos que se guarde el nuevo pdf) lo que hace es leer el pdf creado (Original) agregarle el script para impresión y guardarlo en la Copia.</p>
<p>A continuacion un ejemplo de como utlizar la función:</p>
<p></p><pre class="crayon-plain-tag">AgregarPrintScript(&quot;C:\Test\Original.pdf&quot;, &quot;C:\Test\Copia.pdf&quot;);</pre><p></p>
<p>Pues bueno con lo anterior ya solo nos falta, abrir una nueva ventana donde muestremos el pdf (Copia.pdf) dentro de un iFrame, en cuanto el pdf termine de cargarse (puede demorar unos instantes dependiendo del tamaño del archivo) se abrirá la ventana para que el usuario seleccione la impresora</p>
<p>Espero que les sea de utilidad, y que les solucione el problema como a mi me lo solucionó, y si bien el archivo no se manda automaticamente a la impresora, solo hace falta un enter por parte del usuario para que eso suceda. Dudas o comentarios bien intencionados son bienvenidos</p>
<div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.elsotano.net/imprimir-pdf-asp-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Seleccionar Texto de la etiqueta de WPF</title>
		<link>http://www.elsotano.net/seleccionar-texto-de-la-etiqueta-de-wpf/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=seleccionar-texto-de-la-etiqueta-de-wpf</link>
		<comments>http://www.elsotano.net/seleccionar-texto-de-la-etiqueta-de-wpf/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 06:18:00 +0000</pubDate>
		<dc:creator>Sergio Inzunza</dc:creator>
				<category><![CDATA[C# - Ejemplos y Trucos]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[WPF]]></category>
		<category><![CDATA[Etiqueta]]></category>
		<category><![CDATA[Label]]></category>
		<category><![CDATA[Seleccionar Texto]]></category>

		<guid isPermaLink="false">https://inxunxa.wordpress.com/?p=443</guid>
		<description><![CDATA[SI bien no es posible selecionar el texto de una etiqueta de WPF, si se puede encontrar una forma de tener dicho funcionamiento utilizando un cuadro de texto (TextBox). Basicamente lo que necesitamos hacer es poner un cuadro de texto, quitarle los border y ponerlo de solo lectura para que [...]]]></description>
			<content:encoded><![CDATA[<p>SI bien no es posible selecionar el texto de una etiqueta de WPF, si se puede encontrar una forma de tener dicho funcionamiento utilizando un cuadro de texto (TextBox).</p>
<p>Basicamente lo que necesitamos hacer es poner un cuadro de texto, quitarle los border y ponerlo de solo lectura para que no se pueda editar el texto.</p>
<p>Aqui les comparto los estilos que yo utilize para hacer dicho funcionamiento<span id="more-443"></span></p>
<p></p><pre class="crayon-plain-tag">&lt;style x:key=&quot;txtLabel&quot; basedon=&quot;{x:Null}&quot; targettype=&quot;{x:Type TextBox}&quot;&gt;
&lt;setter property=&quot;Foreground&quot; value=&quot;{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}&quot;/&gt;
&lt;setter property=&quot;Background&quot; value=&quot;{DynamicResource {x:Static SystemColors.WindowBrushKey}}&quot;/&gt;
&lt;setter property=&quot;BorderBrush&quot; value=&quot;{StaticResource TextBoxBorder}&quot;/&gt;
&lt;setter property=&quot;BorderThickness&quot; value=&quot;1&quot;/&gt;
&lt;setter property=&quot;Padding&quot; value=&quot;1&quot;/&gt;
&lt;setter property=&quot;AllowDrop&quot; value=&quot;true&quot;/&gt;
&lt;setter property=&quot;FocusVisualStyle&quot; value=&quot;{x:Null}&quot;/&gt;
&lt;setter property=&quot;ScrollViewer.PanningMode&quot; value=&quot;VerticalFirst&quot;/&gt;
&lt;setter property=&quot;Stylus.IsFlicksEnabled&quot; value=&quot;False&quot;/&gt;
&lt;setter property=&quot;IsReadOnly&quot; value=&quot;True&quot;&gt;&lt;/setter&gt;
&lt;setter property=&quot;Template&quot;&gt;
&lt;setter.value&gt;
&lt;controltemplate targettype=&quot;{x:Type TextBox}&quot;&gt;
&lt;microsoft_windows_themes:listboxchrome x:name=&quot;Bd&quot; borderbrush=&quot;{TemplateBinding BorderBrush}&quot; borderthickness=&quot;{TemplateBinding BorderThickness}&quot; background=&quot;{TemplateBinding Background}&quot; rendermouseover=&quot;{TemplateBinding IsMouseOver}&quot; renderfocused=&quot;{TemplateBinding IsKeyboardFocusWithin}&quot; snapstodevicepixels=&quot;true&quot;&gt;
&lt;scrollviewer x:name=&quot;PART_ContentHost&quot; snapstodevicepixels=&quot;{TemplateBinding SnapsToDevicePixels}&quot; fontweight=&quot;Bold&quot; fontsize=&quot;16&quot;/&gt;
&lt;/microsoft_windows_themes:listboxchrome&gt;
&lt;controltemplate.triggers&gt;
&lt;trigger property=&quot;IsEnabled&quot; value=&quot;false&quot;&gt;
&lt;setter property=&quot;Background&quot; targetname=&quot;Bd&quot; value=&quot;{DynamicResource {x:Static SystemColors.ControlBrushKey}}&quot;/&gt;
&lt;setter property=&quot;Foreground&quot; value=&quot;Transparent&quot;/&gt;
&lt;/trigger&gt;
&lt;trigger property=&quot;IsMouseOver&quot; value=&quot;True&quot;&gt;
&lt;setter property=&quot;BorderThickness&quot; value=&quot;0&quot;/&gt;
&lt;setter property=&quot;Padding&quot; value=&quot;3,3,0,0&quot;&gt;&lt;/setter&gt;
&lt;/trigger&gt;
&lt;trigger property=&quot;IsFocused&quot; value=&quot;True&quot;&gt;
&lt;setter property=&quot;BorderThickness&quot; value=&quot;0&quot;/&gt;
&lt;setter property=&quot;Padding&quot; value=&quot;3,3,0,0&quot;&gt;&lt;/setter&gt;
&lt;/trigger&gt;
&lt;/controltemplate.triggers&gt;
&lt;/controltemplate&gt;
&lt;/setter.value&gt;
&lt;/setter&gt;
&lt;/style&gt;</pre><p></p>
<p>Pegamos el anterior codigo en nuestro XAML, y ya solo nos falta poner los texbox que utilizen es estilo antes pegado</p>
<p></p><pre class="crayon-plain-tag">&lt;textbox x:name=&quot;Text&quot; textwrapping=&quot;Wrap&quot; text=&quot;TextBox&quot; borderbrush=&quot;{x:Null}&quot; background=&quot;{x:Null}&quot; maxlength=&quot;280&quot; isreadonly=&quot;True&quot; /&gt;</pre><p></p>
<p>Pues con eso yo solucione mi problema de poner una area de texto seleccionable en WPF, espero les sea de utilidad, y se agradecen los comentarios.</p>
<div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.elsotano.net/seleccionar-texto-de-la-etiqueta-de-wpf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Factura Electronica (CFDI) Timbrado usando c#</title>
		<link>http://www.elsotano.net/timbrefiscal-ejemplo-c-net/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=timbrefiscal-ejemplo-c-net</link>
		<comments>http://www.elsotano.net/timbrefiscal-ejemplo-c-net/#comments</comments>
		<pubDate>Thu, 31 Mar 2011 17:29:21 +0000</pubDate>
		<dc:creator>Sergio Inzunza</dc:creator>
				<category><![CDATA[C# - Ejemplos y Trucos]]></category>
		<category><![CDATA[Factura Electronica]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[CFDI]]></category>
		<category><![CDATA[Timbrado de Facturas]]></category>
		<category><![CDATA[Timbrefiscal]]></category>

		<guid isPermaLink="false">http://inxunxa.wordpress.com/?p=438</guid>
		<description><![CDATA[Hola, Si ustedes están como yo hace uno días, tratando de resolver como timbrar una factura electrónica utilizando el proveedor timbrefiscal.mx, les comento como lo logré yo: - Registrarme en timbrefiscal.mx mandando un correo con mis datos - Descargar el Pack de Conexión - Descargar el sello para la conexión [...]]]></description>
			<content:encoded><![CDATA[<p>Hola,<br />
Si ustedes están como yo hace uno días, tratando de resolver como timbrar una factura electrónica utilizando el proveedor timbrefiscal.mx, les comento como lo logré yo:</p>
<ol>
<li>- Registrarme en timbrefiscal.mx mandando un correo con mis datos </li>
<li>- Descargar el Pack de Conexión</li>
<li>- Descargar el sello para la conexión que nos regresan por correo una vez registrados</li>
<li>- Descargar el siguiente ejemplo http://timbrefiscal.mx/descargas/EjemploCsharpPuntoNet.zip</li>
<li>- Adaptarlo al sistema que estamos desarrollando (en mi caso solo tome el metodo de sello y timbre)</li>
<li>- Realizar los siguientes cambios al ejemplo:</li>
<ol></li>
</li>
<p>Localizar y cambiar la linea<br />
509Certificate2 cert = new X509Certificate2(certificadoSello);</p>
<p>Por:<br />
X509Certificate2 cert = new X509Certificate2(certificadoSello, &#8220;a0123456789&#8243;, X509KeyStorageFlags.MachineKeySet);</p>
<p>Donde <em>a0123456789</em> es la clave proporcionada por timbrefiscal en un txt</p>
<p>Y listo, esos fueron los pasos que seguir para realizar el timbrado con éxito (en fase de pruebas).</p>
<p><strong>Algo Muy Importante</strong> que destacar es que como emisor de la factura deben poner el RFC con el que se dieron de alta (paso 1) en timbrefiscal.</p>
<p>Si tienen dudas o desean el código (de mi sistema [SOLO LA PARTE DE FACTURACION]) dejen un comentario y su correo y se los hago llegar.</p>
<p>Espero les sea de ayudar.</p>
<div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.elsotano.net/timbrefiscal-ejemplo-c-net/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>jQuery ocultar una columna de un Gridview ASP.NET</title>
		<link>http://www.elsotano.net/jquery-gridview/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=jquery-gridview</link>
		<comments>http://www.elsotano.net/jquery-gridview/#comments</comments>
		<pubDate>Thu, 17 Mar 2011 18:15:59 +0000</pubDate>
		<dc:creator>Sergio Inzunza</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[Gridview]]></category>

		<guid isPermaLink="false">http://inxunxa.wordpress.com/?p=430</guid>
		<description><![CDATA[[ Hide a gridview column using jQuery ] Hola, siguiendo con la modalidad de pequeños [pero contundentes] post en los que comparto con ustedes como realizar cierta funcionalidad poco común, les traigo esta vez, el código para ocultar una columna de un gridview de asp.net utilizando jQuery. Lo primero es [...]]]></description>
			<content:encoded><![CDATA[<h2><strong>[ Hide a gridview column using jQuery ]</strong></h2>
<p>Hola, siguiendo con la modalidad de pequeños [pero contundentes] post en los que comparto con ustedes como realizar cierta funcionalidad poco común, les traigo esta vez, el código para ocultar una columna de un gridview de asp.net utilizando jQuery.</p>
<p>Lo primero es a nuestro <strong>gridview</strong> le agregamos una nueva clase de <strong>css</strong> llamada <strong>Grid</strong> (o como ustedes deseen),  posteriormente agregarmos el script de jQuery para ocultar la columna, que para el ejemplo es la primera de ellas.</p>
<pre class="brush: javascript; ">

&lt;script type=&quot;text/javascript&quot;&gt;
$(document).ready(function() {
            $(&quot;#Grid td:nth-child(1), #Grid th:nth-child(1)&quot;).hide();
       });
&lt;/script&gt;
</pre>
<p>Como breve explicación del código anterior les comento que, lo que se hace es seleccionar el elemento que contenga la clase <strong>Grid</strong> y ocultar el encabezado de la columna (#Grid td:nth-child(1)) y después ocultar las celdas de la columna (Grid th:nth-child(1)).</p>
<p>Espero les sea de utilidad, si tienen más problemas, dudas y/o comentarios favor de dejar un comment.</p>
<div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.elsotano.net/jquery-gridview/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Validador SAT Factura Electrónica [Error: RFC:Null]</title>
		<link>http://www.elsotano.net/validador-sat-cfd/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=validador-sat-cfd</link>
		<comments>http://www.elsotano.net/validador-sat-cfd/#comments</comments>
		<pubDate>Mon, 14 Mar 2011 23:29:36 +0000</pubDate>
		<dc:creator>Sergio Inzunza</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://inxunxa.wordpress.com/?p=425</guid>
		<description><![CDATA[Hola, esta vez solo quiero compartir con ustedes que seguramente están teniendo el mismo problema que yo, al validar una Factura y elegir que cheque todas las opciones, marca: Folio: No Registrado &#8230; RFC emisor: null pues lo mismo me pasaba a mi que para un cliente hice un DLL [...]]]></description>
			<content:encoded><![CDATA[<p>Hola, esta vez solo quiero compartir con ustedes que seguramente están teniendo el mismo problema que yo, al validar una Factura y elegir que cheque todas las opciones, marca:</p>
<p>Folio: No Registrado<br />
&#8230;<br />
RFC emisor: null</p>
<p>pues lo mismo me pasaba a mi que para un cliente hice un DLL con todas las funciones de facturas electrónicas, por fin solucionamos el problema, y quiero compartir con ustedes lo que nos funcionó.</p>
<p>En nuestro XML el problema era los namespaces, me explico. Teniamos dentro del XML:</p>
<p><strong>&lt;q1:Comprobante &#8230;</strong></p>
<p>y la solución fue tan facíl como cambiarlo a:</p>
<p><strong>&lt;Comprobante &#8230;.</strong></p>
<p>Solo quitamos en q1 (namespace) que c# le autoagregaba al xml al momento de serializar el objeto&#8230;</p>
<p>Espero les ayude en algo, si tienen alguna duda, no duden en comentar</p>
<div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.elsotano.net/validador-sat-cfd/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mostrar un Textbox en Gridview Cell [ASP.NET]</title>
		<link>http://www.elsotano.net/gridview-textbox-aspnet/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=gridview-textbox-aspnet</link>
		<comments>http://www.elsotano.net/gridview-textbox-aspnet/#comments</comments>
		<pubDate>Mon, 14 Mar 2011 17:51:04 +0000</pubDate>
		<dc:creator>Sergio Inzunza</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Gridview]]></category>
		<category><![CDATA[Textbox]]></category>

		<guid isPermaLink="false">http://inxunxa.wordpress.com/?p=411</guid>
		<description><![CDATA[Hola, en esta ocasión compartire con ustedes como mostrar un texbox dentro de una celda de un Gridview, esto con la finalidad de que el usuario pueda modificar el valor de cualquier fila sin necesidad de entrar en modo de edición. El código para del gridview para la columna con [...]]]></description>
			<content:encoded><![CDATA[<p>Hola, en esta ocasión compartire con ustedes como mostrar un texbox dentro de una celda de un Gridview, esto con la finalidad de que el usuario pueda modificar el valor de cualquier fila sin necesidad de entrar en modo de edición.</p>
<p>El código para del gridview para la columna con el Textbox es:</p>
<pre class="brush: csharp; ">

&lt;asp:TemplateField HeaderText=&quot;Descuentos por Aplicar&quot;&gt;
     &lt;HeaderStyle CssClass=&quot;gridHead&quot; HorizontalAlign=&quot;Center&quot; /&gt;
     &lt;ItemStyle CssClass=&quot;gridItem&quot; HorizontalAlign=&quot;Right&quot; /&gt;
         &lt;ItemTemplate&gt;
             &lt;asp:TextBox EnableViewState=&quot;true&quot; Width=&quot;70px&quot; Height=&quot;10px&quot; CssClass=&quot;center&quot;  runat=&quot;server&quot; Text=&#039;&lt;%#  DataBinder.Eval(Container, &quot;DataItem.NOMBRECOLUMNA&quot;) %&gt;&#039;&gt;
              &lt;/asp:TextBox&gt;
         &lt;/ItemTemplate&gt;
     &lt;/asp:TemplateField&gt;
</pre>
<p>Con el código anterior podemos crear nuestra columna con un textbox dentro de cada celda, solo necesitamos asignar al gridview una Tabla como DataSource y cambiar el texto NOMBRECOLUMNA por el nombre de una de las columnas de la tabla y el textbox tomar los datos de dicha columna.</p>
<p>Espero les sea de utilidad y si desea en código para obtener el valor de cada textbox (cuando el usuario lo modifica) solo pidanlo en un comment.</p>
<div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.elsotano.net/gridview-textbox-aspnet/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MonoTouch LongPressGesture</title>
		<link>http://www.elsotano.net/monotouch-longpress/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=monotouch-longpress</link>
		<comments>http://www.elsotano.net/monotouch-longpress/#comments</comments>
		<pubDate>Thu, 10 Mar 2011 07:19:57 +0000</pubDate>
		<dc:creator>Sergio Inzunza</dc:creator>
				<category><![CDATA[C# - Ejemplos y Trucos]]></category>
		<category><![CDATA[iPod Touch]]></category>
		<category><![CDATA[MonoDevelop]]></category>

		<guid isPermaLink="false">http://inxunxa.wordpress.com/?p=366</guid>
		<description><![CDATA[En esta ocación les presento como capturar el evento de LongPress sobre un UITableView en MonoTouch y C#. En lo personal, este evento lo utilize para eliminar filas de un UITableView, de un iPad de tal manera que cuando el usuario mantenía presionado una fila, les aparecia un diálogo con [...]]]></description>
			<content:encoded><![CDATA[<p>En esta ocación les presento como capturar el evento de LongPress sobre un UITableView en MonoTouch y C#.</p>
<p>En lo personal, este evento lo utilize para eliminar filas de un UITableView, de un iPad de tal manera que cuando el usuario mantenía presionado una fila, les aparecia un diálogo con la opción de eliminar dicha fila.</p>
<p>Pues bien, vamos al grano..</p>
<p>Ya sea en el método <em>FinishedLaunching()</em> o en <em>ViewDidLoad()</em> creamos el GestureRecognizer, lo configuramos y se lo asignamos a nuestro UITableView en cuestión.</p>
<pre class="brush: csharp; ">

UILongPressGestureRecognizer gesture = new UILongPressGestureRecognizer(this, new MonoTouch.ObjCRuntime.Selector(&amp;amp;amp;amp;amp;quot;LongPressGesture&amp;amp;amp;amp;amp;quot;));
gesture.MinimumPressDuration = 1.0f;
gesture.Delegate = new LongPressGestureDelegate();
Table.AddGestureRecognizer(gesture);
</pre>
<p><span id="more-366"></span></p>
<p>Posteriormente creamos el método del evento y el método que lo invoca</p>
<pre class="brush: csharp; ">

protected void OnLongPressGesture(UILongPressGestureRecognizer aRecogniser)
{
if(aRecogniser.State == UIGestureRecognizerState.Began)
{
PointF point = aRecogniser.LocationInView(Table);
NSIndexPath path = Table.IndexPathForRowAtPoint(point);
if(path != null )
{
UIActionSheet sheet = new UIActionSheet(&amp;amp;amp;amp;amp;quot;Desea Eliminar la Fila?&amp;amp;amp;amp;amp;quot;);
sheet.AddButton(&amp;amp;amp;amp;amp;quot;SI eliminar&amp;amp;amp;amp;amp;quot;);
sheet.AddButton(&amp;amp;amp;amp;amp;quot;NO eliminar&amp;amp;amp;amp;amp;quot;);
sheet.AddButton(&amp;amp;amp;amp;amp;quot;Cancelar&amp;amp;amp;amp;amp;quot;);
sheet.CancelButtonIndex = 2;
sheet.ShowFrom(Table.RectForRowAtIndexPath(path), Table, true);
sheet.Clicked += delegate (object sender, UIButtonEventArgs e)
{
switch(e.ButtonIndex)
{
case 0:
// Codigo para eliminar la fila, llamada al metodo de eliminar dentro del DataSource de su UITableView
break;
default:
break;
}
};
}
}
}
[Export(&amp;amp;amp;amp;amp;quot;LongPressGesture&amp;amp;amp;amp;amp;quot;)]
private void LongPressGesture(UILongPressGestureRecognizer aRecogniser)
{
OnLongPressGesture(aRecogniser);
}
</pre>
<p>Por último, al final de nuestra clase principal creamos el manejador para nuestro GestureRecognizer</p>
<pre class="brush: csharp; ">

public class LongPressGestureDelegate : UIGestureRecognizerDelegate
{
public override bool ShouldReceiveTouch(UIGestureRecognizer aRecogniser, UITouch aTouch)
{
return true;
}
}
</pre>
<p>Espero les sea de utilidad, si alguien requiere el código funcional (proyecto de MonoDevelop) solo pídalo y con gusto se lo proporciono.</p>
<p>Saludos y gracias la visita.</p>
<div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.elsotano.net/monotouch-longpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como Pasar Parametros/Variables a un Crystal Reports</title>
		<link>http://www.elsotano.net/parametros_crystalreports/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=parametros_crystalreports</link>
		<comments>http://www.elsotano.net/parametros_crystalreports/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 21:38:16 +0000</pubDate>
		<dc:creator>Sergio Inzunza</dc:creator>
				<category><![CDATA[Crystal Reports]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Crystal Reports parametros variables]]></category>
		<category><![CDATA[SetParameterField]]></category>

		<guid isPermaLink="false">http://inxunxa.wordpress.com/?p=304</guid>
		<description><![CDATA[&#160; Como pasar un Valor, parametro o variable a Crytal Reports En esta ocasión compartiré con ustedes una manera fácil de pasar un valor, parámetro o variable a un reporte de Reporte de Cyrstal Reports desde codigo de C# .net. Si te has preguntado la manera de pasar un valor, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://elsotano.net/wp-content/uploads/2010/02/3.jpg"><img src="http://elsotano.net/wp-content/uploads/2010/02/3.jpg" alt="" title="Definir el Parametro" class="aligncenter size-full wp-image-307" /></a></p>
<p style="text-align:center;">&nbsp;</p>
<p style="text-align:center;"><span style="color:#09628e;font-size:large;"><strong>Como pasar un Valor, parametro o variable a Crytal Reports</strong></span></p>
<p>En esta ocasión compartiré con ustedes una manera fácil de pasar un valor, parámetro o variable a un reporte de Reporte de Cyrstal Reports desde codigo de C# .net.</p>
<p><span id="more-304"></span></p>
<p>Si te has preguntado la manera de pasar un valor, o variable a un reporte de Crystal Reports, sin la necesidad de crear una columna en la Base de Datos, pues que no tendría sentido hacerlo para un solo valor.<br />
La forma de hacerlo es:</p>
<p><strong>Declarar un parámetro del tipo Parameter Field </strong>dentro de nuestro Reporte.<br />
Para esto, en Field Explorer hacer clic derecho sobre Parameter Field y elegir New</p>
<p><a href="http://elsotano.net/wp-content/uploads/2010/02/1.jpg"><img class="aligncenter size-full wp-image-306" title="parameter field" src="http://elsotano.net/wp-content/uploads/2010/02/1.jpg" alt="" width="207" height="145" /></a></p>
<p><strong>Definir el Nombre y el tipo del parametro.</strong></p>
<p>Para el ejemplo, Nombre: <strong>ParametroEjemplo</strong>, Tipo: <strong>String</strong></p>
<p><strong><a href="http://elsotano.net/wp-content/uploads/2010/02/2.jpg"><img class="aligncenter size-full wp-image-305" title="Crear nuevo Parametro" src="http://elsotano.net/wp-content/uploads/2010/02/2.jpg" alt="" /></a><br />
</strong></p>
<p>Listo, ahora ya tenemos el elemento ParametroEjemplo disponible para arrastrarlo y acomodarlo dentro del reporte.</p>
<p><strong>Para pasar el valor/variable al Reporte de Crystal Reports desde código C#.</strong><br />
En caso de que estemos agregando el Reporte al CrystalReportViewer de manera automática, tenemos que poner el código de paso de parámetros  antes de llamar el Reporte.</p>
<p>En caso de que estemos agregando el Reporte al CrystalReportViewer desde código, tenemos que poner el código de paso de parámetros antes de asignar el ReportSource.</p>
<p><strong>El Código de paso de Parámetros</strong></p>
<pre class="brush: csharp; ">

// Pasando una caneda/valor
rpt.SetParameterValue(&quot;ParametroEjemplo&quot;, &quot;Hola Mundo&quot;);
// Pasando una variable
string var1 = &quot;Hola Mundo&quot;;
rpt.SetParameterValue(&quot;ParametroEjemplo&quot;, var1);
</pre>
<p><strong><span style="color:#808080;">Espero les sea de utilidad el post, y como siempre, se agradecerán todos los comentarios.</span></strong></p>
<div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.elsotano.net/parametros_crystalreports/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Estilo con CSS para un Ajax ComboBox de ASP.net</title>
		<link>http://www.elsotano.net/css_combobox/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=css_combobox</link>
		<comments>http://www.elsotano.net/css_combobox/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 19:00:35 +0000</pubDate>
		<dc:creator>Sergio Inzunza</dc:creator>
				<category><![CDATA[C# - Ejemplos y Trucos]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[ajax__combobox_]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[ComboBox]]></category>

		<guid isPermaLink="false">http://inxunxa.wordpress.com/?p=283</guid>
		<description><![CDATA[Como Modificar el estilo de un ASP.net ComboBox de Ajax Utilizando CSS En este Post compartiré con ustedes la forma de dar estilos propios a un ComboBox de Ajax, utilizando CSS.  De tal manera que podamos pasar de esto: a esto Suponiendo que a este punto tenemos nuestro proyectos de [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;"><span style="color:#09628e;font-size:large;"><a href="http://elsotano.net/wp-content/uploads/2010/02/uno.png"><img class="aligncenter size-full wp-image-287" title="ComboBox Ajax ASP.NET con estilo CSS e Imagenes" src="http://elsotano.net/wp-content/uploads/2010/02/uno.png" alt="ComboBox estilizado mediante StyleSheet (hoja de estilos)" width="256" height="67" /></a><a href="http://inxunxa.wordpress.com/2010/02/15/css_combobox/" target="_self"><span style="color:#09628e;font-size:large;"><strong>Como Modificar el estilo de un ASP.net ComboBox de Ajax Utilizando CSS</strong></span></a><strong> </strong></span><strong> </strong></p>
<p>En este Post compartiré con ustedes la forma de dar estilos propios a un ComboBox de Ajax, utilizando CSS.  De tal manera que podamos pasar de esto:</p>
<p style="text-align:center;">
<p style="text-align:center;"><a href="http://elsotano.net/wp-content/uploads/2010/02/cuatro.png"><img class="aligncenter size-full wp-image-292" title="Combobox Ajax ASP.net sin estilo" src="http://elsotano.net/wp-content/uploads/2010/02/cuatro.png" alt="ComboBox Ajax original, sin niguna modificacion" width="268" height="133" /></a><strong>a esto</strong><a href="http://elsotano.net/wp-content/uploads/2010/02/tres.png"><img class="aligncenter size-full wp-image-284" title="DroppedDown Combobox Ajax estilizado por CSS" src="http://elsotano.net/wp-content/uploads/2010/02/tres.png" alt="" width="245" height="129" /></a></p>
<p><span id="more-283"></span></p>
<p>Suponiendo que a este punto tenemos nuestro proyectos de Visual Studio, tenemos una pagina en la cual ya hemos agregado un Combobox de Ajax, tambien tenemos una hoja de estilos agregada a nuestro proyecto.</p>
<p>Si la hoja de estilos aun no esta ligada a la pagina en la cual tenemos el ComboBox, solo es cuestión de arrastrar el archivo .cs a nuestra pagina para crear el link automáticamente.</p>
<p>Al elemento ComboBox le asignamos la propiedad CssClass a <strong>combobox.</strong></p>
<p>En nuestra hoja de estilos agregamos las siguientes lineas:</p>
<pre class="brush: css; ">

.combobox .ajax__combobox_textboxcontainer input
{
    height:20px;
    background-image:url(&#039;../Imagenes/combo.png&#039;);
    background-repeat:no-repeat;
    border-style:none;
    padding-top:7px;
    background-color:#fafafa;
    padding-left:5px;
}

.combobox .ajax__combobox_buttoncontainer button
{
    background-image:url(&#039;../Imagenes/combo.png&#039;);
    background-repeat:no-repeat;
    background-position:-206px 0;
    border-style:none;
    background-color:#fafafa;
     cursor:hand;
}

.ajax__combobox_itemlist
{
    white-space: nowrap;
    cursor:hand;

    border-color:#BBC2CC;
    border-style:solid;
    border-width:2px;

    width:200px !Important;
}
</pre>
<p>Ya solo nos falta agregar la imagen a nuestra carpeta Imagenes..<br />
<a href="http://elsotano.net/wp-content/uploads/2010/02/combo.png"><img class="size-full wp-image-295 aligncenter" title="combo" src="http://elsotano.net/wp-content/uploads/2010/02/combo.png" alt="" width="230" height="30" /></a><strong><em>(Para descargar la imagen hacer Click Derecho &gt; Guardar imagen como&#8230;)</em></strong></p>
<p><strong><span style="color:#808080;">Espero les sea de utilidad el post, y como siempre, se agradecerán todos los comentarios.</span></strong></p>
<div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.elsotano.net/css_combobox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enviar un Mail desde C# .NET y GMail/Hotmail</title>
		<link>http://www.elsotano.net/enviar_email_csharp_gmail_hotmail/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=enviar_email_csharp_gmail_hotmail</link>
		<comments>http://www.elsotano.net/enviar_email_csharp_gmail_hotmail/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 19:44:13 +0000</pubDate>
		<dc:creator>Sergio Inzunza</dc:creator>
				<category><![CDATA[C# - Ejemplos y Trucos]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Gmail]]></category>
		<category><![CDATA[Hotmail]]></category>
		<category><![CDATA[Mail]]></category>

		<guid isPermaLink="false">http://inxunxa.wordpress.com/?p=265</guid>
		<description><![CDATA[Como enviar un Coreo Electronico desde C# .NET utilizando el SMTP de GMail y/o Hotmail En este Post compartiré con ustedes una manera muy fácil y rápida para enviar un eMail desde una aplicación .Net C#. Si no tienen su propio servidor de correo (SMTP), utilizaremos los servidores de Google y/o Microsoft. Suponiendo que ya tenemos nuestra aplicacion [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://elsotano.net/wp-content/uploads/2010/01/11516866adb0a641m.jpg"><img class="aligncenter size-full wp-image-266" title="mail_app" src="http://elsotano.net/wp-content/uploads/2010/01/11516866adb0a641m.jpg" alt="" width="240" height="240" /></a></p>
<p style="text-align:center;"><span style="color:#09628e;font-size:large;"><strong>Como enviar un Coreo Electronico desde C# .NET utilizando el SMTP de GMail y/o Hotmail</strong></span></p>
<p>En este Post compartiré con ustedes una manera muy fácil y rápida para enviar un eMail desde una aplicación .Net C#. Si no tienen su propio servidor de correo (SMTP), utilizaremos los servidores de Google y/o Microsoft.</p>
<p><span id="more-265"></span></p>
<p>Suponiendo que ya tenemos nuestra aplicacion creada, agregamos una nueva clase llamada <strong><em>Correos</em><span style="font-weight:normal;"> la cual contendra la informacion del SMTP y el metodo </span><em>Enviar(MailMessage mensaje)</em><span style="font-weight:normal;">.</span></strong></p>
<pre class="brush: csharp; ">

// Agregamos un nuevo Using a la clase.
using System.Net.Mail;
// El código de la clase es:
class Correos
    {
        /*
         * Cliente SMTP
         * Gmail:  smtp.gmail.com  puerto:587
         * Hotmail: smtp.liva.com  puerto:25
         */
        SmtpClient server = new SmtpClient(&quot;smtp.gmail.com&quot;, 587);

        public Correos()
        {
            /*
             * Autenticacion en el Servidor
             * Utilizaremos nuestra cuenta de correo
             *
             * Direccion de Correo (Gmail o Hotmail)
             * y Contrasena correspondiente
             */
            server.Credentials = new System.Net.NetworkCredential(&quot;xxxx@gmail.com&quot;, &quot;xxxx&quot;);
            server.EnableSsl = true;
        }

        public void MandarCorreo(MailMessage mensaje)
        {
            server.Send(mensaje);
        }
    }
</pre>
<p>Pues bien, ya tenemos la Clase encargada de enviar los correos, ahora podemos llamarla desde cualquier punto de nuestra aplicación.  Sin olvidar agregar el Using Correspondiente:</p>
<div id="_mcePaste"><strong><em>using System.Net.Mail;</em></strong></div>
<pre class="brush: csharp; ">

try
{
    Correos Cr = new Correos();
    MailMessage mnsj = new MailMessage();

    mnsj.Subject = &quot;Hola Mundo&quot;;

    mnsj.To.Add(new MailAddress(&quot;amiguito@domain.com&quot;));

    mnsj.From = new MailAddress(&quot;YO@MiDominio.com&quot;, &quot;Nombre Apellido&quot;);

    /* Si deseamos Adjuntar algún archivo*/
    mnsj.Attachments.Add(new Attachment(&quot;C:\\archivo.pdf&quot;));

    mnsj.Body = &quot;  Mensaje de Prueba \n\n Enviado desde C#\n\n *VER EL ARCHIVO ADJUNTO*&quot;;

    /* Enviar */
    Cr.MandarCorreo(mnsj);
    Enviado = true;

    MessageBox.Show(&quot;El Mail se ha Enviado Correctamente&quot;, &quot;Listo!!&quot;, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
catch (Exception ex)
{
    MessageBox.Show(ex.ToString());
}
</pre>
<p>Pues bien, eso es todo por esta ocasión, como dije en un principio, creo que es muy fácil y rápido, por lo que no considero necesario subir el código del proyecto.</p>
<p><strong>Espero les sea de utilidad el post, y como siempre, se agradecerán todos los comentarios.</strong></p>
<div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.elsotano.net/enviar_email_csharp_gmail_hotmail/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>C#, Copiar Base de Datos de SQL</title>
		<link>http://www.elsotano.net/copiarbd/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=copiarbd</link>
		<comments>http://www.elsotano.net/copiarbd/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 04:54:11 +0000</pubDate>
		<dc:creator>Sergio Inzunza</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[C# - Ejemplos y Trucos]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://inxunxa.wordpress.com/?p=239</guid>
		<description><![CDATA[Hacer una Copia de una Base de Datos de SQL Mediante Código C# En esta ocasión compartiré con ustedes una de las mil posibilidades para hacer una copia de una Base de Datos de SQL desde código, utilizando la libreria SMO (SQL Server Management Objects), lo cual nos permite hacerlo de una manera mucho mas rápida y [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://elsotano.net/wp-content/uploads/2009/12/screen-shot-2009-12-10-at-7-49-25-pm.png"><img class="aligncenter size-full wp-image-240" title="By: Sergio Inzunza" src="http://elsotano.net/wp-content/uploads/2009/12/screen-shot-2009-12-10-at-7-49-25-pm.png" alt="inxunza" width="372" height="312" /></a></p>
<h3 style="text-align:center;"><a href="http://inxunxa.wordpress.com/2009/12/11/copiarbd/" target="_self"><span style="color:#09628e;font-size:large;">Hacer una Copia de una Base de Datos de SQL Mediante Código C#</span></a></h3>
<p><span style="color:#09628e;"><span style="color:#000000;">En esta ocasión compartiré con ustedes una de las mil posibilidades para hacer una copia de una Base de Datos de SQL desde código, utilizando la libreria <a style="text-decoration:none;" href="http://msdn.microsoft.com/en-us/library/ms162169.aspx"><strong><span style="color:#09628e;">SMO</span></strong><span style="text-decoration:underline;"> </span></a>(<strong>SQL Server Management Objects</strong>), lo cual nos permite hacerlo de una manera mucho mas rápida y con menos lineas de código.</span></span></p>
<p><span style="color:#09628e;"><span style="color:#000000;"><span id="more-239"></span>Después de haber creado nuestro proyecto en el que agregaremos la funcionalidad, lo siguiente que tenemos que hacer, es referenciar las librerías necesarias. Para esto nos dirigimos a:</span><span style="color:#000000;"> <code><span style="color:#09628e;">C:Program FilesMicrosoft SQL Server90SDKAssemblies</span></code> y elegimos las siguientes librerias</span></span></p>
<p style="text-align:center;"><a href="http://elsotano.net/wp-content/uploads/2009/12/screen-shot-2009-12-10-at-6-22-38-pm.png"><img class="aligncenter size-full wp-image-244" title="eleccion de librerias" src="http://elsotano.net/wp-content/uploads/2009/12/screen-shot-2009-12-10-at-6-22-38-pm.png" alt="" width="480" height="360" /></a></p>
<p><span style="color:#09628e;"><span style="color:#000000;"><code><span style="color:#09628e;"><strong>1.- Microsoft.SqlServer.ConnectionInfo.dll</strong></span></code></span></span><code><span style="color:#09628e;"><strong><br />
</strong></span><span style="color:#09628e;"><span style="color:#09628e;"><strong>2.- Microsoft.SqlServer.ConnectionInfo.dll</strong></span></span><span style="color:#09628e;"><strong><br />
</strong></span><span style="color:#09628e;"><span style="color:#09628e;"><strong>3.- Microsoft.SqlServer.ConnectionInfo.dll</strong></span></span></code></p>
<p>Posteriormente agregaremos la referencia en el código<code><br />
</code></p>
<pre class="brush: csharp; ">

using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;
</pre>
<p>Ahora creamos la conexión con el servidor</p>
<pre class="brush: csharp; ">

// inicializacion del servidor
// . es para servidor local
Server servidor = new Server(@&amp;amp;amp;quot;.SQLEXPRESS&amp;amp;amp;quot;);
</pre>
<p>Llenamos un ComboBox con la lista de BDs disponibles en &#8216;servidor&#8217;</p>
<pre class="brush: csharp; ">

// Recorremos todas las BDs en el Servidor
    foreach (Database db in servidor.Databases)
    {
       if (!db.IsSystemObject) // Las BD del Sistema NO las contemplamos
       {
          comboBox1.Items.Add(db.Name);
        }
     }
</pre>
<p>Finalmente, tenemos el método para copiar la BD</p>
<pre class="brush: csharp; ">

private void Copiar()
{
    try
    {
        // Obtener la BD que se va a Copiar
        Database db = servidor.Databases[comboBox1.Text];

        // Configurar las Opciones de la transaccion
        Transfer t = new Transfer(db);
        t.CopyAllObjects = true;                 // Todas las tablas
        t.DropDestinationObjectsFirst = true;    // Si existe la BD, limpiarla
        t.CopySchema = true;                     // Copiar estructura
        if (checkBox1.Checked) t.CopyData = true;// Copiar datos
        t.DestinationServer = @&amp;amp;amp;quot;.SQLEXPRESS&amp;amp;amp;quot;;   // Servidor donde se creara la Copia
        t.DestinationDatabase = textBox1.Text;   // Nombre de la Copia
        t.Options.IncludeIfNotExists = true;     // Crear la BD si no existe
        t.Options.DriAllKeys = true;             // Copiar las Llaves
        t.Options.DriForeignKeys = true;         // Llaves foraneas
        t.Options.DriPrimaryKey = true;          // Llaves primarias
        t.Options.DriUniqueKeys = true;          // Llaves unicas

        // Realizar la transaccion
        t.TransferData();

        // Eliminarmos conexion al servidor
        // ** liberamos memoria **
        servidor = null;

        MessageBox.Show(&amp;amp;amp;quot;La BD &amp;amp;amp;quot; + textBox1.Text + &amp;amp;amp;quot; se ha creado&amp;amp;amp;quot;, &amp;amp;amp;quot;Listo!!&amp;amp;amp;quot;, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.ToString());
    }
}
</pre>
<p><strong>Espero les sea de utilidad el post, y como siempre, se agradecerán todos los comentarios.</strong></p>
<h3><a href="http://dl.dropbox.com/u/626927/CopiarBD.zip" target="_blank"> <span style="color:#ff441a;"><span style="text-decoration:none;">Descargar Codigo Fuente (VS2008)</span></span></a></h3>
<p><span style="color:#ff441a;"><span style="text-decoration:none;"><br />
</span></span></p>
<div style='clear:both'></div>]]></content:encoded>
			<wfw:commentRss>http://www.elsotano.net/copiarbd/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

