<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DEIMQno8cCp7ImA9WhRUFUo.&quot;"><id>tag:blogger.com,1999:blog-5967925963269483996</id><updated>2012-01-26T03:16:23.478-08:00</updated><category term="toolkit" /><category term="show" /><category term="web application" /><category term="flash" /><category term="web based" /><category term="control" /><category term="NoobSlide" /><category term="web" /><category term="Counter" /><category term="Whizzywig" /><category term="Autocomplete select dropdown" /><category term="adobe air badge" /><category term="free" /><category term="swf upload" /><category term="Jquery.Accessible" /><category term="VLC Media Player" /><category term="j query" /><category term="visifire" /><category term="open source" /><category term="Gritter" /><category term="Simple 3D" /><category term="Jquery.Preload" /><category term="javascript libraly" /><category term="c#" /><category term="php framework" /><category term=".net 2.0 framework" /><category term="ajax control" /><category term="popup" /><category term="css" /><category term="js" /><category term="scrollshow" /><category term="rss" /><category term="FullCalendar" /><category term="pic" /><category term="rich text editor" /><category term="sliding menu" /><category term="Adobe" /><category term="Popbox" /><category term="xml" /><category term="Adobe Air" /><category term="a-squared" /><category term="Jquery.Bubble" /><category term="flex" /><category term="spice up" /><category term="cake php" /><category term="mvc" /><category term="free source" /><category term="Twitter API" /><category term="image rollover" /><category term="ui" /><category term="Date Picker" /><category term="photo" /><category term="form validation" /><category term="Table" /><category term="Tree" /><category term="create an atom feed" /><category term="progress monitoring events" /><category term="coding" /><category term="Intellisense" /><category term="atom" /><category term="clip" /><category term="asp.net" /><category term="Widget" /><category term="add entry" /><category term="content management system" /><category term="slide" /><category term="framework" /><category term="flash cs3" /><category term="ColdFusion" /><category term="json" /><category term="ide" /><category term="modal" /><category term="Aptana Studio" /><category term="ruby" /><category term="sliding tab" /><category term="gallery" /><category term="visual effect" /><category term="Stat" /><category term="javascript" /><category term="jsProgressBarHandler" /><category term="joomla" /><category term="Carousel" /><category term="code free" /><category term="Spybot Search and Destroy" /><category term="Video Player" /><category term="text hilighting" /><category term="Jquery.Listen" /><category term="html editor" /><category term="youtube" /><category term="http" /><category term="vdo" /><category term="demo" /><category term="grid" /><category term="Fleegix.js" /><category term="Google Toolbar" /><category term="Portlet Toolkit" /><category term="chilkat bundle" /><category term="Freeware.antivirus" /><category term="Image Magnification" /><category term="timespinner" /><category term="plugin" /><category term="cms" /><category term="spyware" /><category term="script" /><category term="codec" /><category term="Software" /><category term="code" /><category term="image" /><category term="Jquery" /><category term="slightbox" /><category term="simple useful" /><category term="Freeware" /><category term="Yahoo" /><category term="Growl" /><category term="K-Lite Codec Pack" /><category term="xml parser" /><category term="feed" /><category term="php" /><category term="silverlight" /><category term="ajax" /><category term="programming" /><category term="tutorial" /><category term="js progress bar" /><category term="jQuery Expander Plugin" /><category term="flv" /><category term="free download" /><category term="xslt" /><category term="brew" /><category term="color picker" /><category term="scrolling" /><category term="add on" /><category term="moo tools" /><category term="ExtJs" /><category term="slider" /><category term="jQuery.Rule" /><category term="upload" /><category term="Record Mouse Movement" /><category term="source code" /><category term="microsoft" /><category term="messagebox" /><category term="Jquery.Collection" /><category term="cancel button" /><category term="mono" /><category term="PeaZip" /><category term="Pretty Comments" /><title>Developer Today (Web Programming, Web Design, PHP,ASP.NET,Ruby,Flex)</title><subtitle type="html">Ajax Component, Jquery UI, Tool, Javascript framework,Codeignitor,cakephp,ASP.NET 3.5,Adobe Flex Builder 3,Webservices</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://devtoday.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://devtoday.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Devil Boy</name><uri>http://www.blogger.com/profile/11391501637779739676</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>79</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/Devtoday-DeveloperToday" /><feedburner:info uri="devtoday-developertoday" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:browserFriendly></feedburner:browserFriendly><entry gd:etag="W/&quot;D0YBRH0zfSp7ImA9WxJbEE0.&quot;"><id>tag:blogger.com,1999:blog-5967925963269483996.post-4755454712138779809</id><published>2009-07-19T05:05:00.001-07:00</published><updated>2009-07-19T05:05:55.385-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-19T05:05:55.385-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Twitter API" /><category scheme="http://www.blogger.com/atom/ns#" term="Jquery" /><title>Twitter API: How to create a stream of messages Monitter-like with PHP and jQuery</title><content type="html">This tutorial illustrates a very simple way to work with the Twitter API in order to implement a search in the Twitter public timeline and display search results with an animated stream of messages (tweets) similar to Monitter&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_UrWPE8E7WsA/SmMMBGn24GI/AAAAAAAAJ5M/Pn8BhAjhw4o/s1600-h/13jun0901.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 218px;" src="http://4.bp.blogspot.com/_UrWPE8E7WsA/SmMMBGn24GI/AAAAAAAAJ5M/Pn8BhAjhw4o/s320/13jun0901.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5360141194598211682" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5967925963269483996-4755454712138779809?l=devtoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://devtoday.blogspot.com/feeds/4755454712138779809/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5967925963269483996&amp;postID=4755454712138779809" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/4755454712138779809?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/4755454712138779809?v=2" /><link rel="alternate" type="text/html" href="http://devtoday.blogspot.com/2009/07/twitter-api-how-to-create-stream-of.html" title="Twitter API: How to create a stream of messages Monitter-like with PHP and jQuery" /><author><name>Devil Boy</name><uri>http://www.blogger.com/profile/11391501637779739676</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_UrWPE8E7WsA/SmMMBGn24GI/AAAAAAAAJ5M/Pn8BhAjhw4o/s72-c/13jun0901.jpg" height="72" width="72" /><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;D0cDSX8zeCp7ImA9WxJbEE0.&quot;"><id>tag:blogger.com,1999:blog-5967925963269483996.post-6970489182527825469</id><published>2009-07-19T05:03:00.000-07:00</published><updated>2009-07-19T05:04:38.180-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-19T05:04:38.180-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Growl" /><category scheme="http://www.blogger.com/atom/ns#" term="Gritter" /><category scheme="http://www.blogger.com/atom/ns#" term="Jquery" /><title>Gritter for jQuery (Growl)</title><content type="html">A clean and smart notification bubble/popup that appears in the top right of your desktop â€“ Be sure to check out the demo! &lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_UrWPE8E7WsA/SmMLtCHY-VI/AAAAAAAAJ5E/aIQQTwMmgR0/s1600-h/13jul0902.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 283px;" src="http://2.bp.blogspot.com/_UrWPE8E7WsA/SmMLtCHY-VI/AAAAAAAAJ5E/aIQQTwMmgR0/s320/13jul0902.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5360140849790908754" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5967925963269483996-6970489182527825469?l=devtoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://devtoday.blogspot.com/feeds/6970489182527825469/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5967925963269483996&amp;postID=6970489182527825469" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/6970489182527825469?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/6970489182527825469?v=2" /><link rel="alternate" type="text/html" href="http://devtoday.blogspot.com/2009/07/gritter-for-jquery-growl.html" title="Gritter for jQuery (Growl)" /><author><name>Devil Boy</name><uri>http://www.blogger.com/profile/11391501637779739676</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_UrWPE8E7WsA/SmMLtCHY-VI/AAAAAAAAJ5E/aIQQTwMmgR0/s72-c/13jul0902.jpg" height="72" width="72" /><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;D0cERXc5fCp7ImA9WxJbEE0.&quot;"><id>tag:blogger.com,1999:blog-5967925963269483996.post-3970710790076215462</id><published>2009-07-19T05:02:00.000-07:00</published><updated>2009-07-19T05:03:24.924-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-19T05:03:24.924-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="FullCalendar" /><category scheme="http://www.blogger.com/atom/ns#" term="plugin" /><category scheme="http://www.blogger.com/atom/ns#" term="Jquery" /><title>FullCalendar - Full-sized Calendar jQuery Plugin</title><content type="html">&lt;a href="http://2.bp.blogspot.com/_UrWPE8E7WsA/SmMLapTe8II/AAAAAAAAJ48/4hmnijZuKSc/s1600-h/28april0900.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 191px;" src="http://2.bp.blogspot.com/_UrWPE8E7WsA/SmMLapTe8II/AAAAAAAAJ48/4hmnijZuKSc/s320/28april0900.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5360140533893099650" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5967925963269483996-3970710790076215462?l=devtoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://devtoday.blogspot.com/feeds/3970710790076215462/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5967925963269483996&amp;postID=3970710790076215462" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/3970710790076215462?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/3970710790076215462?v=2" /><link rel="alternate" type="text/html" href="http://devtoday.blogspot.com/2009/07/fullcalendar-full-sized-calendar-jquery.html" title="FullCalendar - Full-sized Calendar jQuery Plugin" /><author><name>Devil Boy</name><uri>http://www.blogger.com/profile/11391501637779739676</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_UrWPE8E7WsA/SmMLapTe8II/AAAAAAAAJ48/4hmnijZuKSc/s72-c/28april0900.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DU4ASHgycCp7ImA9WxJTGU4.&quot;"><id>tag:blogger.com,1999:blog-5967925963269483996.post-8108138090754890012</id><published>2009-04-28T09:48:00.001-07:00</published><updated>2009-04-28T09:59:09.698-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-28T09:59:09.698-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="asp.net" /><category scheme="http://www.blogger.com/atom/ns#" term="source code" /><title>SqlWhereBuilder ASP.NET Server Control</title><content type="html">&lt;ul class="download"&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/KB/custom-controls/SqlWhereBuilder/sqlwherebuilder_src.zip"&gt;Download Source Project (C#) - 42.2 Kb&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/KB/custom-controls/SqlWhereBuilder/sqlwherebuilder_demo.zip"&gt;Download Demo Project (C#) - 112 Kb&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/KB/custom-controls/SqlWhereBuilder/sqlwherebuilder_doc.zip"&gt;Download Control Documentation - 121 Kb&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/KB/custom-controls/SqlWhereBuilder/SqlWhereBuilder-htmldemo.zip"&gt;Download client side JavaScript Library - 10.6 Kb&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;h2&gt;Introduction&lt;/h2&gt; &lt;p&gt;&lt;code&gt;SqlWhereBuilder&lt;/code&gt; is a web control which provides a user interface for generating custom SQL &lt;code lang="sql"&gt;&lt;span class="code-keyword"&gt;WHERE&lt;/span&gt;&lt;/code&gt; clauses. Designed to support &lt;i&gt;ad hoc&lt;/i&gt; reporting needs, users add conditions through the interface, and developers use either the &lt;code&gt;GetWhereClause()&lt;/code&gt; or &lt;code&gt;GetWhereClauseWithParameters()&lt;/code&gt; method upon postback to compile the chosen conditions into a string of text suitable for inclusion in a SQL &lt;code lang="sql"&gt;&lt;span class="code-keyword"&gt;WHERE&lt;/span&gt;&lt;/code&gt; clause. The &lt;code&gt;SqlWhereBuilder&lt;/code&gt; control was developed with the following considerations:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;User interaction should be handled client-side, preventing the need for server postbacks with every condition manipulation.  &lt;/li&gt;&lt;li&gt;Where possible, take advantage of functionality provided server-side through ASP.NET. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;To satisfy the former consideration, the client-side functionality was developed as a standalone JavaScript library. The control was tested with IE 6.0, FireFox 1.0, and Netscape 7.1, and should work with any browser supporting JavaScript 1.2, the &lt;code&gt;document.getElementById()&lt;/code&gt; function, the &lt;code&gt;innerHTML&lt;/code&gt; property, and CSS style &lt;code lang="html"&gt;display&lt;/code&gt; attributes of &lt;code lang="html"&gt;none&lt;/code&gt; and &lt;code lang="html"&gt;inline&lt;/code&gt;. Click the following link to &lt;a href="http://www.codeproject.com/KB/custom-controls/SqlWhereBuilder/SqlWhereBuilder-htmldemo.zip"&gt;download the client-side JavaScript library&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;In addressing the latter consideration, the control supports developer configuration through XML files, and can integrate with &lt;code&gt;IDbCommand&lt;/code&gt; types by generating &lt;code lang="sql"&gt;&lt;span class="code-keyword"&gt;WHERE&lt;/span&gt;&lt;/code&gt; clause syntax compatible with &lt;code&gt;IDbDataParameter&lt;/code&gt; objects. This article introduces the control, describes configuration tasks for the developer, and demonstrates how to retrieve a &lt;code lang="sql"&gt;&lt;span class="code-keyword"&gt;WHERE&lt;/span&gt;&lt;/code&gt; clause. Techniques used for rendering, and the technique used for communicating the set of conditions back and forth between the client-side JavaScript library and the ASP.NET server-side control are also presented.&lt;/p&gt; &lt;h2&gt;About the Control&lt;/h2&gt; &lt;p&gt;The &lt;code&gt;SqlWhereBuilder&lt;/code&gt; user interface is composed of the following visual elements:&lt;/p&gt;&lt;p&gt;
&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;Conditions Listing&lt;/i&gt;  &lt;p&gt;Conditions are displayed in this area as they are added by the user.&lt;/p&gt; &lt;/li&gt;&lt;li&gt;&lt;i&gt;Fields Dropdown&lt;/i&gt;  &lt;p&gt;The Fields dropdown provides a listing of database fields; the user selection of a field begins a condition.&lt;/p&gt; &lt;/li&gt;&lt;li&gt;&lt;i&gt;Operators Dropdown&lt;/i&gt;  &lt;p&gt;When a field is selected, the Operators dropdown provides a listing of comparison operators appropriate for the field, as configured by the developer. For example, a text field may contain the operators "&lt;code lang="sql"&gt;&lt;span class="code-keyword"&gt;Is&lt;/span&gt;&lt;/code&gt;", "&lt;code lang="sql"&gt;&lt;span class="code-keyword"&gt;Is&lt;/span&gt; &lt;span class="code-keyword"&gt;Not&lt;/span&gt;&lt;/code&gt;", "&lt;code lang="sql"&gt;&lt;span class="code-keyword"&gt;Contains&lt;/span&gt;&lt;/code&gt;", and "&lt;code lang="sql"&gt;&lt;span class="code-keyword"&gt;Is&lt;/span&gt; &lt;span class="code-keyword"&gt;Null&lt;/span&gt;&lt;/code&gt;". A numeric field may contain operators such as "&lt;code lang="sql"&gt;Equals&lt;/code&gt;" and "&lt;code lang="sql"&gt;&lt;span class="code-keyword"&gt;Is&lt;/span&gt; Greater Than&lt;/code&gt;". Operators have associated &lt;i&gt;sqlTemplates&lt;/i&gt; which are used to translate the condition to syntax appropriate for a SQL &lt;code lang="sql"&gt;&lt;span class="code-keyword"&gt;WHERE&lt;/span&gt;&lt;/code&gt; clause.&lt;/p&gt; &lt;/li&gt;&lt;li&gt;&lt;i&gt;ValueEntry area&lt;/i&gt;  &lt;p&gt;When an operator is selected, its associated &lt;i&gt;ValueEntry&lt;/i&gt; area is displayed, providing the user with the means to enter comparison value(s) appropriate for the operator. ValueEntry areas are rendered as &lt;code lang="html"&gt;&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;div&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;&lt;/code&gt; tags that are displayed and hidden on the client as operators are selected. ValueEntry areas may include literal text and HTML; the client library supports &lt;code lang="html"&gt;&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;input&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;&lt;/code&gt; tags of type &lt;code lang="html"&gt;text&lt;/code&gt; and &lt;code lang="html"&gt;radio&lt;/code&gt;, and &lt;code lang="html"&gt;&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;select&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;&lt;/code&gt; tags. A ValueEntry area may also be defined using a &lt;code&gt;UserControl&lt;/code&gt; (&lt;i&gt;.ascx&lt;/i&gt;) provided that control renders supported form inputs.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The example above shows a ValueEntry area consisting of a single text box. The example below shows an "&lt;code lang="sql"&gt;&lt;span class="code-keyword"&gt;is&lt;/span&gt; &lt;span class="code-keyword"&gt;between&lt;/span&gt;&lt;/code&gt;" operator defined for a &lt;code&gt;Date&lt;/code&gt; field, with two &lt;code lang="html"&gt;&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;input&lt;/span&gt; &lt;span class="code-attribute"&gt;type&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;text"&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;&lt;/code&gt; tags for the ValueEntry area:&lt;/p&gt;&lt;p&gt;
&lt;br /&gt;&lt;/p&gt;&lt;p&gt;
&lt;br /&gt;&lt;/p&gt;&lt;p&gt;This next example ValueEntry is derived from a &lt;code&gt;UserControl&lt;/code&gt; which populates a &lt;code&gt;DropDownList&lt;/code&gt; with employee names from the Northwind database:&lt;/p&gt;&lt;p&gt;
&lt;br /&gt;&lt;/p&gt;&lt;p&gt;As the user adds conditions through the interface, they appear in the &lt;i&gt;conditions listing&lt;/i&gt; area with Delete and Edit buttons to the left of each. After one condition is added, the &lt;i&gt;And/Or&lt;/i&gt; dropdown also appears in the entry form, allowing users to select the SQL conjunction appropriate for their criteria.&lt;/p&gt;&lt;p&gt;
&lt;br /&gt;&lt;/p&gt;&lt;p&gt;When the Edit button is clicked for a given condition, the entry form, normally positioned at the bottom for adding new conditions, is moved to edit the selected condition inline:&lt;/p&gt;&lt;p&gt;
&lt;br /&gt;&lt;/p&gt;&lt;p&gt;
&lt;br /&gt;&lt;/p&gt;&lt;h2&gt;Configuration&lt;/h2&gt; &lt;p&gt;To use the &lt;code&gt;SqlWhereBuilder&lt;/code&gt; web control, the developer must copy the JavaScript library code file to an appropriate location on the server. The developer must also define ValueEntry areas, OperatorLists, and Fields available to the user. This is typically done through XML files.&lt;/p&gt; &lt;h3&gt;Client-side JavaScript library&lt;/h3&gt; &lt;p&gt;All the client-side functionality of the &lt;code&gt;SqlWhereBuilder&lt;/code&gt; control is built into the JavaScript file &lt;i&gt;SqlWhereBuilder.js&lt;/i&gt;. The control expects to find this file at the following location (where &lt;i&gt;wwwroot&lt;/i&gt; is the web root folder of the server):&lt;/p&gt;&lt;div class="SmallText" id="premain0" style="width: 100%; cursor: pointer;"&gt;&lt;img preid="0" src="http://www.codeproject.com/images/minus.gif" id="preimg0" width="9" height="9" /&gt;&lt;span preid="0" style="margin-bottom: 0pt;" id="precollapse0"&gt; Collapse&lt;/span&gt;&lt;/div&gt;&lt;pre style="margin-top: 0pt;" id="pre0" lang="text"&gt;&lt;i&gt;wwwroot&lt;/i&gt;/aspnet_client/UNLV_IAP_WebControls/SqlWhereBuilder&lt;/pre&gt; &lt;p&gt;Copy the file &lt;i&gt;SqlWhereBuilder.js&lt;/i&gt; to the above folder path, and it becomes available to each &lt;code&gt;SqlWhereBuilder&lt;/code&gt; instance. To specify an alternate location for the client JavaScript file, set the property &lt;code&gt;ClientCodeLocation&lt;/code&gt; of the &lt;code&gt;SqlWhereBuilder&lt;/code&gt; instance accordingly (see the control documentation for more information).&lt;/p&gt; &lt;h3&gt;XML configuration files&lt;/h3&gt; &lt;p&gt;Beyond the identification of the client-side library, configuration of a &lt;code&gt;SqlWhereBuilder&lt;/code&gt; instance is typically handled through XML files. The configuration files are identified through the properties &lt;code&gt;ValueEntryFile&lt;/code&gt;, &lt;code&gt;OperatorListsFile&lt;/code&gt;, and &lt;code&gt;FieldsFile&lt;/code&gt;. Though the flexibility exists to supply these as individual files, that isn't strictly necessary; all configuration tags may appear in a single file and that file identified in each of the three properties if desired.&lt;/p&gt; &lt;p&gt;ValueEntry areas are defined using &lt;code&gt;&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;valueEntry&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;&lt;/code&gt; tags with the following attributes:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;code&gt;id&lt;/code&gt; - a unique identifier for this ValueEntry area, for reference by an operator.  &lt;/li&gt;&lt;li&gt;&lt;code&gt;userControl&lt;/code&gt; - (optional) the virtual path of a &lt;code&gt;UserControl&lt;/code&gt; (&lt;i&gt;.ascx&lt;/i&gt;) to render for this ValueEntry area. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;This example shows a &lt;a href="mk:@MSITStore:C:%5CDocuments%20and%20Settings%5CMike%5CMy%20Documents%5CCodeProject%5CSqlWhereBuilder%5CSqlWhereBuilder%20Documentation.chm::/UNLV.IAP.WebControls.SqlWhereBuilder.ValueEntryFile.html"&gt;&lt;code&gt;ValueEntryFile&lt;/code&gt;&lt;/a&gt; with four entry areas defined: one for a single text box, one blank (for operators where additional user entry is not required), one with a dropdown box for selections, and one defined by an external &lt;code&gt;UserControl&lt;/code&gt;.&lt;/p&gt;&lt;div class="SmallText" id="premain1" style="width: 100%; cursor: pointer;"&gt;&lt;img preid="1" src="http://www.codeproject.com/images/minus.gif" id="preimg1" width="9" height="9" /&gt;&lt;span preid="1" style="margin-bottom: 0pt;" id="precollapse1"&gt; Collapse&lt;/span&gt;&lt;/div&gt;&lt;pre style="margin-top: 0pt;" id="pre1" lang="xml"&gt;&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;configuration&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;   &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;valueEntry&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;onetext"&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;       &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;input&lt;/span&gt; &lt;span class="code-attribute"&gt;type&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;text"&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;onetext_1"&lt;/span&gt; &lt;span class="code-attribute"&gt;size&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;10"&lt;/span&gt; &lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;   &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;valueEntry&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;  
&lt;br /&gt;   &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;valueEntry&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;blank"&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;       &lt;span class="code-comment"&gt;&lt;!--&lt;/span&gt;&lt;span class="code-keyword"&gt;&lt;span class="code-comment"&gt; left intentionally blank &lt;/span&gt;--&gt;&lt;/span&gt;
&lt;br /&gt;   &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;valueEntry&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;  
&lt;br /&gt;   &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;valueEntry&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;region"&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;       &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;select&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;region_select1"&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;           &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;option&lt;/span&gt; &lt;span class="code-attribute"&gt;value&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;N"&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;North&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;option&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;           &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;option&lt;/span&gt; &lt;span class="code-attribute"&gt;value&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;S"&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;South&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;option&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;           &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;option&lt;/span&gt; &lt;span class="code-attribute"&gt;value&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;E"&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;East&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;option&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;           &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;option&lt;/span&gt; &lt;span class="code-attribute"&gt;value&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;W"&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;West&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;option&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;       &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;select&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;   &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;valueEntry&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;  
&lt;br /&gt;   &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;valueEntry&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;customers"&lt;/span&gt;
&lt;br /&gt;               &lt;span class="code-attribute"&gt;userControl&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;CustomersDropdown.ascx"&lt;/span&gt; &lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;configuration&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;&lt;/pre&gt; &lt;p&gt;When defining ValueEntry areas, it is important to provide each form input with an &lt;code lang="html"&gt;id&lt;/code&gt; attribute (such as "&lt;code&gt;onetext_1&lt;/code&gt;" for the "&lt;code&gt;onetext&lt;/code&gt;" input in the example above). Form input &lt;code lang="html"&gt;id&lt;/code&gt;s are referenced by the &lt;code&gt;sqlTemplate&lt;/code&gt; attributes of operators. In the case of radio button groups, the &lt;code lang="html"&gt;name&lt;/code&gt; attribute is referenced instead by the &lt;code&gt;sqlTemplate&lt;/code&gt;.&lt;/p&gt; &lt;p&gt;&lt;i&gt;Operators&lt;/i&gt; are grouped into &lt;i&gt;OperatorLists&lt;/i&gt;, defined through &lt;code&gt;&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;operator&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;&lt;/code&gt; and &lt;code&gt;&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;operatorList&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;&lt;/code&gt; tags respectively. An OperatorList provides a set of operators appropriate for a given field. OperatorLists may be thought of as loosely tied to a specific datatype (such as a text, numeric, or date datatype) and would provide appropriate operator choices for fields of that datatype. Customized OperatorLists may also be defined, for example, to limit choices for a standard datatype, or to provide custom choices appropriate to a ValueEntry area derived from a &lt;code&gt;UserControl&lt;/code&gt;. OperatorLists have a single attribute:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;code&gt;id&lt;/code&gt; - a unique identifier for this OperatorList, for reference by a field. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Operators are defined with the following attributes:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;code&gt;id&lt;/code&gt; - a unique identifier for this operator.  &lt;/li&gt;&lt;li&gt;&lt;code&gt;text&lt;/code&gt; - display text for the Operators dropdown in the &lt;code&gt;SqlWhereBuilder&lt;/code&gt; entry form.  &lt;/li&gt;&lt;li&gt;&lt;code&gt;valueEntry&lt;/code&gt; - the &lt;code&gt;id&lt;/code&gt; of the associated ValueEntry area; when this operator is selected from the dropdown, the associated ValueEntry area is displayed as well. &lt;/li&gt;&lt;li&gt;&lt;code&gt;sqlTemplate&lt;/code&gt; - a template string for defining how a condition using this operator will translate to valid SQL syntax. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The &lt;code&gt;sqlTemplate&lt;/code&gt; attribute uses placeholders in an otherwise SQL-compliant condition. The literal placeholder &lt;code&gt;#FIELD#&lt;/code&gt; substitutes for the field name in the condition. Form inputs in ValueEntry areas are represented using placeholders derived from the input &lt;code lang="html"&gt;id&lt;/code&gt; attribute (or the &lt;code lang="html"&gt;name&lt;/code&gt; attribute, in the case of radio button groups), using pound signs (#) as delimiters. For example, if the ValueEntry area defines a text input &lt;code lang="html"&gt;id&lt;/code&gt;="&lt;code&gt;onetext_1&lt;/code&gt;", the placeholder in the &lt;code&gt;sqlTemplate&lt;/code&gt; would be &lt;code&gt;#onetext_1#&lt;/code&gt;.&lt;/p&gt; &lt;p&gt;One additional consideration is important when designing &lt;code&gt;sqlTemplate&lt;/code&gt;s: whether or not the &lt;code lang="sql"&gt;&lt;span class="code-keyword"&gt;WHERE&lt;/span&gt;&lt;/code&gt; clause will be constructed as a literal string (using the &lt;code&gt;GetWhereClause()&lt;/code&gt; method) or as a string with parameter placeholders (using the &lt;code&gt;GetWhereClauseWithParameters()&lt;/code&gt; method). If using the former method, then appropriate delimiters for datatypes (single quotes for text types, for example) should be included in the &lt;code&gt;sqlTemplate&lt;/code&gt;. If using the latter method, then datatype delimiters would not be necessary; valueEntry input placeholders would be replaced with &lt;code&gt;IDbDataParameter&lt;/code&gt; placeholders as appropriate within the compiled &lt;code lang="sql"&gt;&lt;span class="code-keyword"&gt;WHERE&lt;/span&gt;&lt;/code&gt; clause. The following example shows an "&lt;code lang="sql"&gt;equals&lt;/code&gt;" comparison operator for a text datatype using the former method, incorporating single quotes for text delimiters:&lt;/p&gt;&lt;div class="SmallText" id="premain2" style="width: 100%; cursor: pointer;"&gt;&lt;img preid="2" src="http://www.codeproject.com/images/minus.gif" id="preimg2" width="9" height="9" /&gt;&lt;span preid="2" style="margin-bottom: 0pt;" id="precollapse2"&gt; Collapse&lt;/span&gt;&lt;/div&gt;&lt;pre style="margin-top: 0pt;" id="pre2" lang="aspnet"&gt;&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;operator&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;text_is"&lt;/span&gt; &lt;span class="code-attribute"&gt;text&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;Is"&lt;/span&gt; &lt;span class="code-attribute"&gt;valueEntry&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;onetext"&lt;/span&gt;
&lt;br /&gt;         &lt;span class="code-attribute"&gt;sqlTemplate&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;#FIELD# = '#onetext_1#'"&lt;/span&gt; &lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;&lt;/pre&gt; &lt;p&gt;The same operator defined for use with &lt;code&gt;IDbDataParameter&lt;/code&gt; objects (the &lt;code&gt;GetWhereClauseWithParameters()&lt;/code&gt; method) would look like this (no single quotes for delimiters):&lt;/p&gt;&lt;div class="SmallText" id="premain3" style="width: 100%; cursor: pointer;"&gt;&lt;img preid="3" src="http://www.codeproject.com/images/minus.gif" id="preimg3" width="9" height="9" /&gt;&lt;span preid="3" style="margin-bottom: 0pt;" id="precollapse3"&gt; Collapse&lt;/span&gt;&lt;/div&gt;&lt;pre style="margin-top: 0pt;" id="pre3" lang="aspnet"&gt;&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;operator&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;text_is"&lt;/span&gt; &lt;span class="code-attribute"&gt;text&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;Is"&lt;/span&gt; &lt;span class="code-attribute"&gt;valueEntry&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;onetext"&lt;/span&gt;
&lt;br /&gt;         &lt;span class="code-attribute"&gt;sqlTemplate&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;#FIELD# = #onetext_1#"&lt;/span&gt; &lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;&lt;/pre&gt; &lt;p&gt;The following example shows an &lt;code&gt;OperatorListsFile&lt;/code&gt; with five lists defined: one for generic text datatypes, one for boolean conditions, one for numeric datatypes, one for a region selection, and one making use of the "customers" ValueEntry area defined in the ValueEntry example above. These operators assume that the &lt;code&gt;GetWhereClauseWithParameters()&lt;/code&gt; method will be used to compile the &lt;code lang="sql"&gt;&lt;span class="code-keyword"&gt;WHERE&lt;/span&gt;&lt;/code&gt; clause, so datatype delimiters are not used.&lt;/p&gt;&lt;div class="SmallText" id="premain4" style="width: 100%; cursor: pointer;"&gt;&lt;img preid="4" src="http://www.codeproject.com/images/minus.gif" id="preimg4" width="9" height="9" /&gt;&lt;span preid="4" style="margin-bottom: 0pt;" id="precollapse4"&gt; Collapse&lt;/span&gt;&lt;/div&gt;&lt;pre style="margin-top: 0pt;" id="pre4" lang="xml"&gt;&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;configuration&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt; &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;operatorList&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;opList_text"&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;   &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;operator&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;opList_text_is"&lt;/span&gt; &lt;span class="code-attribute"&gt;text&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;Is"&lt;/span&gt; &lt;span class="code-attribute"&gt;valueEntry&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;onetext"&lt;/span&gt;
&lt;br /&gt;             &lt;span class="code-attribute"&gt;sqlTemplate&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;#FIELD# = #onetext_1#"&lt;/span&gt; &lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;   &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;operator&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;opList_text_isnot"&lt;/span&gt; &lt;span class="code-attribute"&gt;text&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;Is Not"&lt;/span&gt; &lt;span class="code-attribute"&gt;valueEntry&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;onetext"&lt;/span&gt;
&lt;br /&gt;             &lt;span class="code-attribute"&gt;sqlTemplate&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;#FIELD# != #onetext_1#"&lt;/span&gt; &lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;   &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;operator&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;opList_text_isnull"&lt;/span&gt; &lt;span class="code-attribute"&gt;text&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;Is Null"&lt;/span&gt; &lt;span class="code-attribute"&gt;valueEntry&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;blank"&lt;/span&gt;
&lt;br /&gt;             &lt;span class="code-attribute"&gt;sqlTemplate&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;#FIELD# IS NULL"&lt;/span&gt; &lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt; &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;operatorList&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt; &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;operatorList&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;opList_boolean"&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;   &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;operator&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;opList_boolean_true"&lt;/span&gt; &lt;span class="code-attribute"&gt;text&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;Is True"&lt;/span&gt; &lt;span class="code-attribute"&gt;valueEntry&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;blank"&lt;/span&gt;
&lt;br /&gt;             &lt;span class="code-attribute"&gt;sqlTemplate&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;#FIELD# = 1"&lt;/span&gt; &lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;   &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;operator&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;opList_boolean_false"&lt;/span&gt; &lt;span class="code-attribute"&gt;text&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;Is False"&lt;/span&gt; &lt;span class="code-attribute"&gt;valueEntry&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;blank"&lt;/span&gt;
&lt;br /&gt;             &lt;span class="code-attribute"&gt;sqlTemplate&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;#FIELD# = 0"&lt;/span&gt; &lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;   &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;operator&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;opList_boolean_null"&lt;/span&gt; &lt;span class="code-attribute"&gt;text&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;Is Null"&lt;/span&gt; &lt;span class="code-attribute"&gt;valueEntry&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;blank"&lt;/span&gt;
&lt;br /&gt;             &lt;span class="code-attribute"&gt;sqlTemplate&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;#FIELD# IS NULL"&lt;/span&gt; &lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;   &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;operator&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;opList_boolean_notnull"&lt;/span&gt; &lt;span class="code-attribute"&gt;text&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;Is Not Null"&lt;/span&gt; &lt;span class="code-attribute"&gt;valueEntry&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;blank"&lt;/span&gt;
&lt;br /&gt;             &lt;span class="code-attribute"&gt;sqlTemplate&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;#FIELD# IS NOT NULL"&lt;/span&gt; &lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt; &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;operatorList&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt; &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;operatorList&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;opList_numeric"&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;   &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;operator&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;opList_numeric_equals"&lt;/span&gt; &lt;span class="code-attribute"&gt;text&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;Equals"&lt;/span&gt; &lt;span class="code-attribute"&gt;valueEntry&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;onetext"&lt;/span&gt;
&lt;br /&gt;             &lt;span class="code-attribute"&gt;sqlTemplate&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;#FIELD# = #onetext_1#"&lt;/span&gt; &lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;   &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;operator&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;opList_numeric_notequals"&lt;/span&gt; &lt;span class="code-attribute"&gt;text&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;Does Not Equal"&lt;/span&gt;
&lt;br /&gt;             &lt;span class="code-attribute"&gt;valueEntry&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;onetext"&lt;/span&gt;
&lt;br /&gt;             &lt;span class="code-attribute"&gt;sqlTemplate&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;#FIELD# != #onetext_1#"&lt;/span&gt; &lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;   &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;operator&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;opList_numeric_gt"&lt;/span&gt; &lt;span class="code-attribute"&gt;text&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;Is Greater Than"&lt;/span&gt;
&lt;br /&gt;             &lt;span class="code-attribute"&gt;valueEntry&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;onetext"&lt;/span&gt;
&lt;br /&gt;             &lt;span class="code-attribute"&gt;sqlTemplate&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;#FIELD# &amp;gt; #onetext_1#"&lt;/span&gt; &lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;   &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;operator&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;opList_numeric_lt"&lt;/span&gt; &lt;span class="code-attribute"&gt;text&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;Is Less Than"&lt;/span&gt; &lt;span class="code-attribute"&gt;valueEntry&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;onetext"&lt;/span&gt;
&lt;br /&gt;             &lt;span class="code-attribute"&gt;sqlTemplate&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;#FIELD# &amp;lt; #onetext_1#"&lt;/span&gt; &lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt; &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;operatorList&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt; &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;operatorList&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;opList_region"&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;   &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;operator&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;opList_region_is"&lt;/span&gt; &lt;span class="code-attribute"&gt;text&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;Is"&lt;/span&gt; &lt;span class="code-attribute"&gt;valueEntry&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;region"&lt;/span&gt;
&lt;br /&gt;             &lt;span class="code-attribute"&gt;sqlTemplate&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;#FIELD# = #region_select1#"&lt;/span&gt; &lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;   &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;operator&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;opList_region_isnot"&lt;/span&gt; &lt;span class="code-attribute"&gt;text&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;Is Not"&lt;/span&gt; &lt;span class="code-attribute"&gt;valueEntry&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;region"&lt;/span&gt;
&lt;br /&gt;             &lt;span class="code-attribute"&gt;sqlTemplate&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;#FIELD# != #region_select1#"&lt;/span&gt; &lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt; &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;operatorList&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt; &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;operatorList&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;opList_customers"&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;   &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;operator&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;opList_customers_is"&lt;/span&gt; &lt;span class="code-attribute"&gt;text&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;Is"&lt;/span&gt; &lt;span class="code-attribute"&gt;valueEntry&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;customers"&lt;/span&gt;
&lt;br /&gt;             &lt;span class="code-attribute"&gt;sqlTemplate&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;#FIELD# = #customers_ddCustomers#"&lt;/span&gt; &lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;   &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;operator&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;opList_customers_isnot"&lt;/span&gt; &lt;span class="code-attribute"&gt;text&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;Is Not"&lt;/span&gt; &lt;span class="code-attribute"&gt;valueEntry&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;customers"&lt;/span&gt;
&lt;br /&gt;             &lt;span class="code-attribute"&gt;sqlTemplate&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;#FIELD# != #customers_ddCustomers#"&lt;/span&gt; &lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt; &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;operatorList&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;configuration&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;&lt;/pre&gt; &lt;p&gt;&lt;i&gt;Fields&lt;/i&gt; are defined through &lt;code&gt;&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;field&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;&lt;/code&gt; tags with the following attributes:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;code&gt;id&lt;/code&gt; - the unique identifier for this field; the &lt;code&gt;id&lt;/code&gt; should be the same as the field name in the database.  &lt;/li&gt;&lt;li&gt;&lt;code&gt;text&lt;/code&gt; - display text for the Fields dropdown in the &lt;code&gt;SqlWhereBuilder&lt;/code&gt; entry form.  &lt;/li&gt;&lt;li&gt;&lt;code&gt;operatorList&lt;/code&gt; - the &lt;code&gt;id&lt;/code&gt; of the associated OperatorList; when this field is selected in the entry form, the Operators dropdown is populated with the group of operators defined by the &lt;code&gt;operatorList&lt;/code&gt;.  &lt;/li&gt;&lt;li&gt;&lt;code&gt;parameterDataType&lt;/code&gt; - the &lt;code&gt;System.Data.DbType&lt;/code&gt; of the &lt;code&gt;IDbDataParameter&lt;/code&gt; object to incorporate when using the &lt;code&gt;GetWhereClauseWithParameters()&lt;/code&gt; method; if using &lt;code&gt;GetWhereClause()&lt;/code&gt; instead, this attribute is not necessary. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The following example shows a &lt;code&gt;FieldsFile&lt;/code&gt; with six fields defined, making use of the &lt;code&gt;operatorLists&lt;/code&gt; defined above:&lt;/p&gt;&lt;div class="SmallText" id="premain5" style="width: 100%; cursor: pointer;"&gt;&lt;img preid="5" src="http://www.codeproject.com/images/minus.gif" id="preimg5" width="9" height="9" /&gt;&lt;span preid="5" style="margin-bottom: 0pt;" id="precollapse5"&gt; Collapse&lt;/span&gt;&lt;/div&gt;&lt;pre style="margin-top: 0pt;" id="pre5" lang="xml"&gt;&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;configuration&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt; &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;field&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;Text1"&lt;/span&gt; &lt;span class="code-attribute"&gt;text&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;My First Text Field"&lt;/span&gt;   
&lt;br /&gt;        &lt;span class="code-attribute"&gt;operatorList&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;opList_text"&lt;/span&gt;         
&lt;br /&gt;        &lt;span class="code-attribute"&gt;parameterDataType&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;String"&lt;/span&gt; &lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt; &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;field&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;Bool1"&lt;/span&gt; &lt;span class="code-attribute"&gt;text&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;My Boolean Field"&lt;/span&gt;
&lt;br /&gt;        &lt;span class="code-attribute"&gt;operatorList&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;opList_boolean"&lt;/span&gt;      
&lt;br /&gt;        &lt;span class="code-attribute"&gt;parameterDataType&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;Boolean"&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt; &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;field&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;Region1"&lt;/span&gt; &lt;span class="code-attribute"&gt;text&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;My Region"&lt;/span&gt;
&lt;br /&gt;        &lt;span class="code-attribute"&gt;operatorList&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;opList_region"&lt;/span&gt;       
&lt;br /&gt;        &lt;span class="code-attribute"&gt;parameterDataType&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;String"&lt;/span&gt; &lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt; &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;field&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;Text2"&lt;/span&gt;  &lt;span class="code-attribute"&gt;text&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;My Second Text Field"&lt;/span&gt;
&lt;br /&gt;        &lt;span class="code-attribute"&gt;operatorList&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;opList_text"&lt;/span&gt;         
&lt;br /&gt;        &lt;span class="code-attribute"&gt;parameterDataType&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;String"&lt;/span&gt; &lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt; &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;field&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;Customer"&lt;/span&gt; &lt;span class="code-attribute"&gt;text&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;Customer"&lt;/span&gt;
&lt;br /&gt;        &lt;span class="code-attribute"&gt;operatorList&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;opList_customers"&lt;/span&gt;
&lt;br /&gt;        &lt;span class="code-attribute"&gt;parameterDataType&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;String"&lt;/span&gt; &lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt; &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;field&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;IntField"&lt;/span&gt; &lt;span class="code-attribute"&gt;text&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;My Integer Field"&lt;/span&gt;
&lt;br /&gt;        &lt;span class="code-attribute"&gt;operatorList&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;opList_numeric"&lt;/span&gt;      
&lt;br /&gt;        &lt;span class="code-attribute"&gt;parameterDataType&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;Int16"&lt;/span&gt; &lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;configuration&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;&lt;/pre&gt; &lt;p&gt;With XML configuration files prepared, the developer may declare the &lt;code&gt;SqlWhereBuilder&lt;/code&gt; control in an &lt;i&gt;.aspx&lt;/i&gt; page with syntax like the following example:&lt;/p&gt;&lt;div class="SmallText" id="premain6" style="width: 100%; cursor: pointer;"&gt;&lt;img preid="6" src="http://www.codeproject.com/images/minus.gif" id="preimg6" width="9" height="9" /&gt;&lt;span preid="6" style="margin-bottom: 0pt;" id="precollapse6"&gt; Collapse&lt;/span&gt;&lt;/div&gt;&lt;pre style="margin-top: 0pt;" id="pre6" lang="aspnet"&gt;&lt;span class="code-pagedirective"&gt;&lt;%@&lt;/span&gt;&lt;span class="code-leadattribute"&gt; Register TagPrefix&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;cc1"&lt;/span&gt;&lt;span class="code-attribute"&gt; Namespace&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;UNLV.IAP.WebControls"&lt;/span&gt;&lt;span class="code-attribute"&gt;
&lt;br /&gt;            Assembly&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;SqlWhereBuilder"&lt;/span&gt;&lt;span class="code-attribute"&gt; &lt;/span&gt;&lt;span class="code-pagedirective"&gt;%&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;html&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt; &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;head&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;   &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;title&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;SqlWhereBuilder example&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;title&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt; &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;head&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt; &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;body&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;   &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;form&lt;/span&gt; &lt;span class="code-attribute"&gt;runat&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;server"&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;     &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;h3&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;SqlWhereBuilder example&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;h3&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;     &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;cc1:SqlWhereBuilder&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;SqlWhereBuilder1"&lt;/span&gt; &lt;span class="code-attribute"&gt;runat&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;server"&lt;/span&gt;
&lt;br /&gt;                          &lt;span class="code-attribute"&gt;FieldsFile&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;fields.config"&lt;/span&gt;
&lt;br /&gt;                          &lt;span class="code-attribute"&gt;OperatorListsFile&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;operatorLists.config"&lt;/span&gt;
&lt;br /&gt;                          &lt;span class="code-attribute"&gt;ValueEntryFile&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;valueEntry.config"&lt;/span&gt;        
&lt;br /&gt;                          &lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;   &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;form&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt; &lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;body&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;html&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;&lt;/pre&gt; &lt;p&gt;As an alternative to using XML configuration files, the developer may add appropriate objects to the collection properties &lt;code&gt;ValueEntryDivs&lt;/code&gt;, &lt;code&gt;OperatorLists&lt;/code&gt;, and &lt;code&gt;Fields&lt;/code&gt; through code. There are also a number of properties that affect the appearance of the control, including button labels, CSS classes, and styles. See the control documentation for more information on the collections and objects used in the &lt;code&gt;SqlWhereBuilder&lt;/code&gt; control, and for a complete listing of appearance properties.&lt;/p&gt; &lt;h2&gt;Retrieving the WHERE clause&lt;/h2&gt; &lt;p&gt;To generate a SQL &lt;code lang="sql"&gt;&lt;span class="code-keyword"&gt;WHERE&lt;/span&gt;&lt;/code&gt; clause from the posted set of conditions, the developer may use either the &lt;code&gt;GetWhereClause()&lt;/code&gt; or &lt;code&gt;GetWhereClauseWithParameters()&lt;/code&gt; methods. Both return a SQL-syntax string compiled using the &lt;code&gt;sqlTemplate&lt;/code&gt; attributes of the operator for each supplied condition. The string is returned without the word "&lt;code lang="sql"&gt;&lt;span class="code-keyword"&gt;WHERE&lt;/span&gt;&lt;/code&gt;" to allow for flexibility in its use.&lt;/p&gt; &lt;h3&gt;GetWhereClause() method&lt;/h3&gt; &lt;p&gt;This method returns the &lt;code lang="sql"&gt;&lt;span class="code-keyword"&gt;WHERE&lt;/span&gt;&lt;/code&gt; clause as a plain string and assumes that proper datatype delimiters (such as single quotes for character types) are embedded in the &lt;code&gt;sqlTemplate&lt;/code&gt; attributes of operators. Note that this method may be prone to SQL injection-type attacks. Although the control attempts to mitigate that possibility by calling its &lt;code&gt;ValidateValue()&lt;/code&gt; method for each submitted value, the developer may wish to perform his or her own validation on the returned string. The &lt;code&gt;ValidateValue()&lt;/code&gt; method is defined as &lt;code lang="cs"&gt;&lt;span class="code-keyword"&gt;virtual&lt;/span&gt;&lt;/code&gt; to allow developers to override this method if desired.&lt;/p&gt; &lt;h3&gt;GetWhereClauseWithParameters() method&lt;/h3&gt; &lt;p&gt;This is the recommended method to use when the intent is to generate a &lt;code lang="sql"&gt;&lt;span class="code-keyword"&gt;WHERE&lt;/span&gt;&lt;/code&gt; clause for use with an &lt;code&gt;IDbCommand&lt;/code&gt; object (such as a &lt;code&gt;SqlCommand&lt;/code&gt; or &lt;code&gt;OleDbCommand&lt;/code&gt;). This command compiles the &lt;code lang="sql"&gt;&lt;span class="code-keyword"&gt;WHERE&lt;/span&gt;&lt;/code&gt; clause with parameter placeholders appropriate to a specific &lt;code&gt;IDbCommand&lt;/code&gt; implementation, and adds type-specific &lt;code&gt;IDbDataParameter&lt;/code&gt; objects to the &lt;code&gt;IDbCommand&lt;/code&gt;. The following shows an example of retrieving the &lt;code lang="sql"&gt;&lt;span class="code-keyword"&gt;WHERE&lt;/span&gt;&lt;/code&gt; clause based on user supplied conditions in response to a button-click submission. The &lt;code lang="sql"&gt;&lt;span class="code-keyword"&gt;WHERE&lt;/span&gt;&lt;/code&gt; clause is added with parameters to an &lt;code&gt;OleDbCommand&lt;/code&gt; object, which is then executed.&lt;/p&gt;&lt;div class="SmallText" id="premain7" style="width: 100%; cursor: pointer;"&gt;&lt;img preid="7" src="http://www.codeproject.com/images/minus.gif" id="preimg7" width="9" height="9" /&gt;&lt;span preid="7" style="margin-bottom: 0pt;" id="precollapse7"&gt; Collapse&lt;/span&gt;&lt;/div&gt;&lt;pre style="margin-top: 0pt;" id="pre7" lang="cs"&gt;&lt;span class="code-keyword"&gt;private&lt;/span&gt; &lt;span class="code-keyword"&gt;void&lt;/span&gt; Button1_Click(&lt;span class="code-keyword"&gt;object&lt;/span&gt; sender, System.EventArgs e)
&lt;br /&gt;{
&lt;br /&gt;
&lt;br /&gt; OleDbConnection con = &lt;span class="code-keyword"&gt;null&lt;/span&gt;;
&lt;br /&gt; OleDbCommand cmd = &lt;span class="code-keyword"&gt;null&lt;/span&gt;;
&lt;br /&gt; OleDbDataAdapter da = &lt;span class="code-keyword"&gt;null&lt;/span&gt;;
&lt;br /&gt; DataSet ds = &lt;span class="code-keyword"&gt;new&lt;/span&gt; DataSet();
&lt;br /&gt;
&lt;br /&gt; &lt;span class="code-keyword"&gt;try&lt;/span&gt;
&lt;br /&gt; {
&lt;br /&gt;   &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; GetConnection() is a method defined elsewhere which
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;   &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; returns an OleDbConnection object
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;   con = GetConnection();
&lt;br /&gt;   cmd = &lt;span class="code-keyword"&gt;new&lt;/span&gt; OleDbCommand(&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;SELECT * FROM MyTable"&lt;/span&gt;, con);
&lt;br /&gt;  
&lt;br /&gt;   &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; inspect the SqlWhereBuilder.Conditions property to see if any
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;   &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; conditions were supplied
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;   &lt;span class="code-keyword"&gt;if&lt;/span&gt; (SqlWhereBuilder1.Conditions.Count &gt; &lt;span class="code-digit"&gt;0&lt;/span&gt;)
&lt;br /&gt;   {
&lt;br /&gt;       &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; retrieve the WHERE clause and add parameters to the
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;       &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; OleDbCommand object
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;       &lt;span class="code-keyword"&gt;string&lt;/span&gt; sWhere = SqlWhereBuilder1.GetWhereClauseWithParameters(cmd);
&lt;br /&gt;      
&lt;br /&gt;       &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; add the WHERE clause to the command text; we could throw
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;       &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; in additional WHERE clause criteria here if we wanted
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;       cmd.CommandText += &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt; WHERE "&lt;/span&gt; + sWhere;
&lt;br /&gt;   }
&lt;br /&gt;
&lt;br /&gt;   &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; execute the query
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;   da = &lt;span class="code-keyword"&gt;new&lt;/span&gt; OleDbDataAdapter(cmd);
&lt;br /&gt;   da.Fill(ds);
&lt;br /&gt;  
&lt;br /&gt;   &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; bind results to a datagrid on the page
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;   dgResults.DataSource = ds;
&lt;br /&gt;   dgResults.DataBind();
&lt;br /&gt;
&lt;br /&gt; }
&lt;br /&gt; &lt;span class="code-keyword"&gt;catch&lt;/span&gt; (Exception ex)
&lt;br /&gt; {
&lt;br /&gt;     &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; do something with exceptions...
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt; }
&lt;br /&gt; &lt;span class="code-keyword"&gt;finally&lt;/span&gt;
&lt;br /&gt; {
&lt;br /&gt;     &lt;span class="code-keyword"&gt;if&lt;/span&gt; (ds != &lt;span class="code-keyword"&gt;null&lt;/span&gt;) ds.Dispose();
&lt;br /&gt;     &lt;span class="code-keyword"&gt;if&lt;/span&gt; (da != &lt;span class="code-keyword"&gt;null&lt;/span&gt;) da.Dispose();
&lt;br /&gt;     &lt;span class="code-keyword"&gt;if&lt;/span&gt; (cmd != &lt;span class="code-keyword"&gt;null&lt;/span&gt;) cmd.Dispose();
&lt;br /&gt;     &lt;span class="code-keyword"&gt;if&lt;/span&gt; (con != &lt;span class="code-keyword"&gt;null&lt;/span&gt;) con.Dispose();
&lt;br /&gt; }
&lt;br /&gt;}&lt;/pre&gt; &lt;p&gt;The &lt;code&gt;GetWhereClauseWithParameters()&lt;/code&gt; method automatically generates the appropriate placeholders for &lt;code&gt;SqlCommand&lt;/code&gt;, &lt;code&gt;OleDbCommand&lt;/code&gt;, and &lt;code&gt;OdbcCommand&lt;/code&gt; objects. See the control documentation for additional notes on using &lt;code&gt;GetWhereClauseWithParameters()&lt;/code&gt; with other &lt;code&gt;IDbCommand&lt;/code&gt; types.&lt;/p&gt; &lt;h2&gt;Rendering&lt;/h2&gt; &lt;p&gt;Actual rendering of the &lt;code&gt;SqlWhereBuilder&lt;/code&gt; control occurs through client-side JavaScript functions. Given this, the overridden server-based methods &lt;code&gt;OnPreRender&lt;/code&gt; and &lt;code&gt;Render&lt;/code&gt; work to generate and output the appropriate client-side script through calls to &lt;code&gt;Page.RegisterStartupScript()&lt;/code&gt; and &lt;code&gt;Page.RegisterClientScriptBlock()&lt;/code&gt;. The routines iterate through all Field and Operator objects, registering JavaScript code expected by the client-side library to initialize a &lt;code&gt;SqlWhereBuilder&lt;/code&gt; object.&lt;/p&gt; &lt;p&gt;The overridden&lt;code&gt; OnPreRender&lt;/code&gt; also calls the method &lt;code&gt;PrepareValueEntryDivs()&lt;/code&gt;. This method interprets the internal collection of &lt;i&gt;ValueEntry&lt;/i&gt; objects to determine which are literal HTML/text, and which are derived from &lt;code&gt;UserControl&lt;/code&gt;s. Each then becomes a child control of the &lt;code&gt;SqlWhereBuilder&lt;/code&gt; object and is outputted to the client through the overridden &lt;code&gt;Render&lt;/code&gt; method.&lt;/p&gt; &lt;h2&gt;Client/Server Communication of Conditions&lt;/h2&gt; &lt;p&gt;Any existing conditions in the &lt;code&gt;SqlWhereBuilder&lt;/code&gt; are also rendered by registering calls to the client-side JavaScript function &lt;code&gt;AddCondition()&lt;/code&gt;. This becomes a crucial element for maintaining the state of conditions between server postbacks. Likewise, because conditions are manipulated completely on the client-side, we need a way to communicate the set of conditions back to the server. In this case, the normal &lt;code&gt;ViewState&lt;/code&gt; mechanism cannot help us. If we attempt to modify the hidden __VIEWSTATE &lt;code&gt;&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;input&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;&lt;/code&gt; tag client-side, an exception is thrown upon postback to the server � the server believes (correctly) that its ViewState mechanism has been corrupted.&lt;/p&gt; &lt;p&gt;The solution is to render our own hidden &lt;code&gt;&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;input&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;&lt;/code&gt; tag, explicitly for the purpose of communicating the set of conditions back to the server. The client-side method &lt;code&gt;UpdateConditionsDisplay()&lt;/code&gt;, which is called each time a condition is modified, added, or deleted, contains one additional line of code otherwise unnecessary in a pure JavaScript environment:&lt;/p&gt;&lt;div class="SmallText" id="premain8" style="width: 100%; cursor: pointer;"&gt;&lt;img preid="8" src="http://www.codeproject.com/images/minus.gif" id="preimg8" width="9" height="9" /&gt;&lt;span preid="8" style="margin-bottom: 0pt;" id="precollapse8"&gt; Collapse&lt;/span&gt;&lt;/div&gt;&lt;pre style="margin-top: 0pt;" id="pre8" lang="cs"&gt;&lt;span class="code-keyword"&gt;this&lt;/span&gt;.hiddenConditionsXml.value = escape(&lt;span class="code-keyword"&gt;this&lt;/span&gt;.SerializeConditions());&lt;/pre&gt; &lt;p&gt;The reference &lt;code lang="cs"&gt;&lt;span class="code-keyword"&gt;this&lt;/span&gt;.hiddenConditionsXml&lt;/code&gt; is the hidden form input which we'll query server-side. The &lt;code&gt;SerializeConditions()&lt;/code&gt; client-side method generates a string of XML representing the collection of conditions:&lt;/p&gt;&lt;div class="SmallText" id="premain9" style="width: 100%; cursor: pointer;"&gt;&lt;img preid="9" src="http://www.codeproject.com/images/minus.gif" id="preimg9" width="9" height="9" /&gt;&lt;span preid="9" style="margin-bottom: 0pt;" id="precollapse9"&gt; Collapse&lt;/span&gt;&lt;/div&gt;&lt;pre style="margin-top: 0pt;" id="pre9" lang="jscript"&gt;&lt;span class="code-keyword"&gt;function&lt;/span&gt; SQLWB_SqlWhereBuilder_SerializeConditions()
&lt;br /&gt;{
&lt;br /&gt;   &lt;span class="code-keyword"&gt;var&lt;/span&gt; sXml = &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;&lt;conditions&gt;"&lt;/span&gt;;
&lt;br /&gt;  
&lt;br /&gt;   &lt;span class="code-keyword"&gt;for&lt;/span&gt; (&lt;span class="code-keyword"&gt;var&lt;/span&gt; i=0; i&lt;this.conditions.length; i++)
&lt;br /&gt;   {
&lt;br /&gt;     sXml = sXml + &lt;span class="code-keyword"&gt;this&lt;/span&gt;.conditions[i].Serialize();
&lt;br /&gt;   }
&lt;br /&gt;  
&lt;br /&gt;   sXml = sXml + &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;&lt;/conditions&gt;"&lt;/span&gt;;
&lt;br /&gt;  
&lt;br /&gt;   &lt;span class="code-keyword"&gt;return&lt;/span&gt; sXml;
&lt;br /&gt;}&lt;/pre&gt; &lt;p&gt;The &lt;code&gt;SQLWB_Condition&lt;/code&gt; client-side object defines its &lt;code&gt;Serialize()&lt;/code&gt; method as follows:&lt;/p&gt;&lt;div class="SmallText" id="premain10" style="width: 100%; cursor: pointer;"&gt;&lt;img preid="10" src="http://www.codeproject.com/images/minus.gif" id="preimg10" width="9" height="9" /&gt;&lt;span preid="10" style="margin-bottom: 0pt;" id="precollapse10"&gt; Collapse&lt;/span&gt;&lt;/div&gt;&lt;pre style="margin-top: 0pt;" id="pre10" lang="jscript"&gt;&lt;span class="code-keyword"&gt;function&lt;/span&gt; SQLWB_Condition_Serialize()
&lt;br /&gt;{
&lt;br /&gt;  &lt;span class="code-keyword"&gt;var&lt;/span&gt; sXml = &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;&lt;condition"&lt;/span&gt;
&lt;br /&gt;           + &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt; field=\""&lt;/span&gt; + &lt;span class="code-keyword"&gt;this&lt;/span&gt;.field.id + &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;\""&lt;/span&gt;
&lt;br /&gt;           + &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt; operator=\""&lt;/span&gt; + &lt;span class="code-keyword"&gt;this&lt;/span&gt;.operator.id + &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;\""&lt;/span&gt;
&lt;br /&gt;           + &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt; andOr=\""&lt;/span&gt; + &lt;span class="code-keyword"&gt;this&lt;/span&gt;.andOr + &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;\""&lt;/span&gt;
&lt;br /&gt;           + &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;&gt;"&lt;/span&gt;
&lt;br /&gt;           + &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;&lt;values&gt;"&lt;/span&gt;;
&lt;br /&gt;          
&lt;br /&gt;  &lt;span class="code-keyword"&gt;for&lt;/span&gt; (&lt;span class="code-keyword"&gt;var&lt;/span&gt; i=0; i&lt;this.values.length; i++)
&lt;br /&gt;  {
&lt;br /&gt;    sXml = sXml + &lt;span class="code-keyword"&gt;this&lt;/span&gt;.values[i].Serialize();
&lt;br /&gt;  }
&lt;br /&gt;
&lt;br /&gt;  sXml = sXml + &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;&lt;/values&gt;&lt;/condition&gt;"&lt;/span&gt;;
&lt;br /&gt;  &lt;span class="code-keyword"&gt;return&lt;/span&gt; sXml;
&lt;br /&gt;}&lt;/pre&gt; &lt;p&gt;Individual &lt;i&gt;values&lt;/i&gt; (entered through form inputs in the &lt;i&gt;ValueEntry&lt;/i&gt; area) are then serialized as &lt;code&gt;&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;value&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;&lt;/code&gt; tags through the client-side object &lt;code&gt;SQLWB_Value&lt;/code&gt;:&lt;/p&gt;&lt;div class="SmallText" id="premain11" style="width: 100%; cursor: pointer;"&gt;&lt;img preid="11" src="http://www.codeproject.com/images/minus.gif" id="preimg11" width="9" height="9" /&gt;&lt;span preid="11" style="margin-bottom: 0pt;" id="precollapse11"&gt; Collapse&lt;/span&gt;&lt;/div&gt;&lt;pre style="margin-top: 0pt;" id="pre11" lang="xml"&gt;function SQLWB_Value_Serialize()
&lt;br /&gt;{
&lt;br /&gt;var sXml = "&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;value&lt;/span&gt; &lt;span class="code-attribute"&gt;name&lt;/span&gt;&lt;span class="code-keyword"&gt;=\&lt;/span&gt;&lt;span class="code-attribute"&gt;""&lt;/span&gt; &lt;span class="code-attribute"&gt;+&lt;/span&gt; &lt;span class="code-attribute"&gt;this.name&lt;/span&gt; &lt;span class="code-attribute"&gt;+&lt;/span&gt; &lt;span class="code-attribute"&gt;"\""&lt;/span&gt;
&lt;br /&gt;             &lt;span class="code-attribute"&gt;+&lt;/span&gt; &lt;span class="code-attribute"&gt;"&lt;/span&gt; &lt;span class="code-attribute"&gt;value&lt;/span&gt;&lt;span class="code-keyword"&gt;=\&lt;/span&gt;&lt;span class="code-attribute"&gt;""&lt;/span&gt; &lt;span class="code-attribute"&gt;+&lt;/span&gt; &lt;span class="code-attribute"&gt;this.value.replace(&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-attribute"&gt;"&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-attribute"&gt;g,&lt;/span&gt; &lt;span class="code-attribute"&gt;'&lt;/span&gt;&lt;span class="code-attribute"&gt;&amp;quot;&lt;/span&gt;&lt;span class="code-attribute"&gt;')&lt;/span&gt; &lt;span class="code-attribute"&gt;+&lt;/span&gt; &lt;span class="code-attribute"&gt;"\""&lt;/span&gt;
&lt;br /&gt;             &lt;span class="code-attribute"&gt;+&lt;/span&gt; &lt;span class="code-attribute"&gt;"&lt;/span&gt; &lt;span class="code-attribute"&gt;friendlyValue&lt;/span&gt;&lt;span class="code-keyword"&gt;=\&lt;/span&gt;&lt;span class="code-attribute"&gt;""&lt;/span&gt;
&lt;br /&gt;               &lt;span class="code-attribute"&gt;+&lt;/span&gt; &lt;span class="code-attribute"&gt;this.friendlyValue.replace(&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-attribute"&gt;"&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-attribute"&gt;g,&lt;/span&gt; &lt;span class="code-attribute"&gt;'&lt;/span&gt;&lt;span class="code-attribute"&gt;&amp;quot;&lt;/span&gt;&lt;span class="code-attribute"&gt;')&lt;/span&gt; &lt;span class="code-attribute"&gt;+&lt;/span&gt; &lt;span class="code-attribute"&gt;"\"&lt;/span&gt; &lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;";
&lt;br /&gt;
&lt;br /&gt;return sXml;
&lt;br /&gt;}&lt;/pre&gt; &lt;p&gt;The end result is that as conditions change client-side, the hidden form input is repopulated with an appropriate XML string of &lt;code&gt;&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;condition&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;&lt;/code&gt; tags.&lt;/p&gt; &lt;p&gt;For its part, the &lt;code&gt;SqlWhereBuilder&lt;/code&gt; server control is marked with the &lt;code&gt;IPostBackDataHandler&lt;/code&gt; interface. It fulfills that contract by supplying the following code for the &lt;code&gt;LoadPostData()&lt;/code&gt; method. This code inspects the XML provided from the client in the hidden form input, and deserializes the collection of conditions.&lt;/p&gt;&lt;div class="SmallText" id="premain12" style="width: 100%; cursor: pointer;"&gt;&lt;img preid="12" src="http://www.codeproject.com/images/minus.gif" id="preimg12" width="9" height="9" /&gt;&lt;span preid="12" style="margin-bottom: 0pt;" id="precollapse12"&gt; Collapse&lt;/span&gt;&lt;/div&gt;&lt;pre style="margin-top: 0pt;" id="pre12" lang="cs"&gt;&lt;span class="code-keyword"&gt;public&lt;/span&gt; &lt;span class="code-keyword"&gt;bool&lt;/span&gt; LoadPostData(&lt;span class="code-keyword"&gt;string&lt;/span&gt; postDataKey, NameValueCollection postCollection)
&lt;br /&gt;{
&lt;br /&gt; &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; get the conditions passed in through the hidden field
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt; &lt;span class="code-keyword"&gt;string&lt;/span&gt; sHidden = &lt;span class="code-keyword"&gt;this&lt;/span&gt;.GetID(kHIDDEN_CONDITIONS);
&lt;br /&gt; &lt;span class="code-keyword"&gt;string&lt;/span&gt; sData = postCollection[sHidden];
&lt;br /&gt;
&lt;br /&gt; &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; the data is escaped on the client end; decode it here
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt; sData = &lt;span class="code-keyword"&gt;this&lt;/span&gt;.Page.Server.UrlDecode(sData);
&lt;br /&gt;
&lt;br /&gt; &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; treat it like a real Xml document and deserialize from there
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt; XmlDocument x = &lt;span class="code-keyword"&gt;new&lt;/span&gt; XmlDocument();
&lt;br /&gt; x.LoadXml(sData);
&lt;br /&gt; SqlWhereBuilderConditionCollection cNew
&lt;br /&gt;   = &lt;span class="code-keyword"&gt;new&lt;/span&gt; SqlWhereBuilderConditionCollection(x.DocumentElement);
&lt;br /&gt;
&lt;br /&gt; &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; test if the conditions have changed; this will let us
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt; &lt;span class="code-comment"&gt;//&lt;/span&gt;&lt;span class="code-comment"&gt; fire the ConditionsChanged event later
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt; &lt;span class="code-keyword"&gt;bool&lt;/span&gt; retValue = !(&lt;span class="code-keyword"&gt;this&lt;/span&gt;.Conditions.Equals(cNew));
&lt;br /&gt;
&lt;br /&gt; &lt;span class="code-keyword"&gt;this&lt;/span&gt;.Conditions = cNew;
&lt;br /&gt;
&lt;br /&gt; &lt;span class="code-keyword"&gt;return&lt;/span&gt; retValue;
&lt;br /&gt;}&lt;/pre&gt; &lt;p&gt;The client-side code communicates its set of conditions to the server-side code with a hidden form input and XML text string. The server-side code in turn re-renders its collection of conditions to the client by registering calls to the client function &lt;code&gt;AddCondition()&lt;/code&gt;. Through this round-trip communication, the state of conditions is maintained between server postbacks without corrupting ASP.NET's ViewState.&lt;/p&gt; &lt;h2&gt;Summary&lt;/h2&gt; &lt;p&gt;The &lt;code&gt;SqlWhereBuilder&lt;/code&gt; web control provides a friendly interface for a user to enter impromptu query conditions, which may be compiled upon postback into a SQL &lt;code lang="sql"&gt;&lt;span class="code-keyword"&gt;WHERE&lt;/span&gt;&lt;/code&gt; clause. As an ASP.NET server control wrapping a JavaScript library, user-interaction happens entirely client-side, while on the server, additional functionality such as XML-based configuration and integration with &lt;code&gt;IDbCommand&lt;/code&gt; objects is implemented. A straight &lt;code lang="sql"&gt;&lt;span class="code-keyword"&gt;WHERE&lt;/span&gt;&lt;/code&gt; clause with embedded datatype delimiters and literal values is generated through the &lt;code&gt;GetWhereClause()&lt;/code&gt; method. To integrate the &lt;code lang="sql"&gt;&lt;span class="code-keyword"&gt;WHERE&lt;/span&gt;&lt;/code&gt; clause string with an &lt;code&gt;IDbCommand&lt;/code&gt; object, the &lt;code&gt;GetWhereClauseWithParameters()&lt;/code&gt; method is used instead. The latter method is preferred, as it mitigates the possibility of SQL-injection attacks.&lt;/p&gt; &lt;p&gt;With the client library responsible for the display of the control, the server-side rendering methods output &lt;code&gt;ValueEntry&lt;/code&gt; areas as &lt;code lang="html"&gt;&lt;span class="code-keyword"&gt;&lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;div&lt;/span&gt;&lt;span class="code-keyword"&gt;&gt;&lt;/span&gt;&lt;/code&gt; tags and register appropriate client-side function calls. The state of conditions is maintained between posts back to the server through a hidden form input, in which client-side code serializes conditions into XML representations. This string is then deserialized on the server in the &lt;code&gt;LoadPostData()&lt;/code&gt; method. In all, the &lt;code&gt;SqlWhereBuilder&lt;/code&gt; web control provides a tool for the development of &lt;i&gt;ad hoc&lt;/i&gt; reporting applications.&lt;/p&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5967925963269483996-8108138090754890012?l=devtoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://devtoday.blogspot.com/feeds/8108138090754890012/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5967925963269483996&amp;postID=8108138090754890012" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/8108138090754890012?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/8108138090754890012?v=2" /><link rel="alternate" type="text/html" href="http://devtoday.blogspot.com/2009/04/sqlwherebuilder-aspnet-server-control.html" title="SqlWhereBuilder ASP.NET Server Control" /><author><name>Devil Boy</name><uri>http://www.blogger.com/profile/11391501637779739676</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>3</thr:total></entry><entry gd:etag="W/&quot;DEADRXsyeSp7ImA9WxVQEUs.&quot;"><id>tag:blogger.com,1999:blog-5967925963269483996.post-4402342389797813899</id><published>2009-01-28T10:18:00.000-08:00</published><updated>2009-01-28T10:19:34.591-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-28T10:19:34.591-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Video Player" /><category scheme="http://www.blogger.com/atom/ns#" term="K-Lite Codec Pack" /><category scheme="http://www.blogger.com/atom/ns#" term="Freeware" /><title>ฟรี ดาวน์โหลด K-Lite Codec Pack 4.53 (Full) Free Download</title><content type="html">&lt;div class="desc"&gt;K-Lite Codec Pack is a collection of codecs, DirectShow filters  and tools. Codecs and DirectShow filters are needed for encoding and decoding  (playing) audio and video formats. The K-Lite Codec Pack is designed as a  user-friendly solution for playing all your movie files. With the K-Lite Codec  Pack you should be able to play all the popular audio and video formats and even  some rare formats.  &lt;p&gt;This download is for the Full package and contains all the codecs a normal  user would ever need.  &lt;/p&gt;&lt;p&gt;The K-Lite Codec Pack has a couple of major advantages compared to other  codec packs:  &lt;/p&gt;&lt;ul&gt;&lt;li&gt;It it always very up-to-date with the newest (and/or best) versions of the  components.  &lt;/li&gt;&lt;li&gt;It is very user-friendly.  &lt;/li&gt;&lt;li&gt;The installation is fully customizable, meaning that you are able install  exactly those components that you really want.  &lt;/li&gt;&lt;li&gt;Uninstallation removes all files and registry entries created by the pack.  &lt;/li&gt;&lt;li&gt;It is extremely easy to make a fully customized unattended installation.  &lt;/li&gt;&lt;li&gt;It has been very well tested, so that the package doesn't contain any  conflicting or buggy codecs.  &lt;/li&gt;&lt;li&gt;It tries to avoid potential problems with existing codecs and even fixes  some problems. The pack is able to detect broken codecs and filters on your  system, and remove them for you.  &lt;/li&gt;&lt;li&gt;It is a very complete package, containing everything you need to play your  movies.  &lt;/li&gt;&lt;li&gt;There are different packages. From small to extra-large.  &lt;/li&gt;&lt;li&gt;Suitable for both novice and expert users. &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;center&gt; &lt;table cellpadding="0" cellspacing="0"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td align="left"&gt;&lt;small&gt;Latest Version&lt;br /&gt;&lt;b&gt;K-Lite Codec Pack 4.53  (Full)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Old Versions&lt;br /&gt;&lt;a href="/download_klite_codec_pack/5069/"&gt;K-Lite Codec Pack 4.45 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/5023/"&gt;K-Lite Codec Pack 4.42 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/4935/"&gt;K-Lite Codec Pack 4.34 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/4895/"&gt;K-Lite Codec Pack 4.31 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/4803/"&gt;K-Lite Codec Pack 4.25 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/4534/"&gt;K-Lite Codec Pack 4.17 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/4500/"&gt;K-Lite Codec Pack 4.14 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/4452/"&gt;K-Lite Codec Pack 4.10 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/4374/"&gt;K-Lite Codec Pack 4.00 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/4238/"&gt;K-Lite Codec Pack 3.95 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/4032/"&gt;K-Lite Codec Pack 3.90 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/3935/"&gt;K-Lite Codec Pack 3.85 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/3842/"&gt;K-Lite Codec Pack 3.80 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/3768/"&gt;K-Lite Codec Pack 3.75 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/3723/"&gt;K-Lite Codec Pack 3.70 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/3641/"&gt;K-Lite Codec Pack 3.65 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/3618/"&gt;K-Lite Codec Pack 3.62 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/3479/"&gt;K-Lite Codec Pack 3.57 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/3350/"&gt;K-Lite Codec Pack 3.53 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/3308/"&gt;K-Lite Codec Pack 3.50 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/3194/"&gt;K-Lite Codec Pack 3.45 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/3125/"&gt;K-Lite Codec Pack 3.40 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/3066/"&gt;K-Lite Codec Pack 3.35 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/2973/"&gt;K-Lite Codec Pack 3.30 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/2932/"&gt;K-Lite Codec Pack 3.29 (Full)  Beta&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/2867/"&gt;K-Lite Codec Pack 3.25  (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/2808/"&gt;K-Lite Codec Pack 3.20  (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/2773/"&gt;K-Lite Codec Pack 3.15  (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/2704/"&gt;K-Lite Codec Pack 3.10  (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/2545/"&gt;K-Lite Codec Pack 3.01  (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/2539/"&gt;K-Lite Codec Pack 3.00  (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/2503/"&gt;K-Lite Codec Pack 2.89  (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/2437/"&gt;K-Lite Codec Pack 2.88  (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/2424/"&gt;K-Lite Codec Pack 2.87  (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/2342/"&gt;K-Lite Codec Pack 2.86  (Full) Beta&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/2302/"&gt;K-Lite Codec Pack  2.85 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/2201/"&gt;K-Lite Codec Pack  2.84 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/2142/"&gt;K-Lite Codec Pack  2.83 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/2056/"&gt;K-Lite Codec Pack  2.82 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/2000/"&gt;K-Lite Codec Pack  2.81 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/1869/"&gt;K-Lite Codec Pack  2.80 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/1794/"&gt;K-Lite Codec Pack  2.79 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/1777/"&gt;K-Lite Codec Pack  2.78 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/1726/"&gt;K-Lite Codec Pack  2.78 (Full) Beta&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/1594/"&gt;K-Lite Codec  Pack 2.77 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/1533/"&gt;K-Lite Codec  Pack 2.77 (Full) Beta 1&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/1503/"&gt;K-Lite  Codec Pack 2.76 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/1489/"&gt;K-Lite  Codec Pack 2.76 (Full) Beta 1&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/1450/"&gt;K-Lite Codec Pack 2.75 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/1433/"&gt;K-Lite Codec Pack 2.75 (Full) Beta  3&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/1431/"&gt;K-Lite Codec Pack 2.75  (Full) Beta 2&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/1427/"&gt;K-Lite Codec  Pack 2.75 (Full) Beta 1&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/1350/"&gt;K-Lite  Codec Pack 2.74 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/1308/"&gt;K-Lite  Codec Pack 2.73 (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/1270/"&gt;K-Lite  Codec Pack 2.73 (Full) Beta 2&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/1260/"&gt;K-Lite Codec Pack 2.73 (Full)  Beta&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/988/"&gt;K-Lite Codec Pack 2.72  (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/863/"&gt;K-Lite Codec Pack 2.71  (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/769/"&gt;K-Lite Codec Pack 2.70  (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/717/"&gt;K-Lite Codec Pack 2.69  (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/711/"&gt;K-Lite Codec Pack 2.68  (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/688/"&gt;K-Lite Codec Pack 2.67  (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/672/"&gt;K-Lite Codec Pack 2.66  (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/594/"&gt;K-Lite Codec Pack 2.65  (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/586/"&gt;K-Lite Codec Pack 2.64  (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/551/"&gt;K-Lite Codec Pack 2.63  (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/535/"&gt;K-Lite Codec Pack 2.62  (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/531/"&gt;K-Lite Codec Pack 2.61  (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/522/"&gt;K-Lite Codec Pack 2.60  (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/384/"&gt;K-Lite Codec Pack 2.54  (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/326/"&gt;K-Lite Codec Pack 2.53  (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/289/"&gt;K-Lite Codec Pack 2.52  (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/276/"&gt;K-Lite Codec Pack 2.51  (Full)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_klite_codec_pack/234/"&gt;K-Lite Codec Pack 2.50  (Full)&lt;/a&gt;&lt;br /&gt;&lt;/small&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5967925963269483996-4402342389797813899?l=devtoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://devtoday.blogspot.com/feeds/4402342389797813899/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5967925963269483996&amp;postID=4402342389797813899" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/4402342389797813899?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/4402342389797813899?v=2" /><link rel="alternate" type="text/html" href="http://devtoday.blogspot.com/2009/01/k-lite-codec-pack-453-full-free.html" title="ฟรี ดาวน์โหลด K-Lite Codec Pack 4.53 (Full) Free Download" /><author><name>Devil Boy</name><uri>http://www.blogger.com/profile/11391501637779739676</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEEDSHsyfCp7ImA9WxVQEUs.&quot;"><id>tag:blogger.com,1999:blog-5967925963269483996.post-8402245320591162136</id><published>2009-01-28T10:16:00.000-08:00</published><updated>2009-01-28T10:17:59.594-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-28T10:17:59.594-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Video Player" /><category scheme="http://www.blogger.com/atom/ns#" term="VLC Media Player" /><category scheme="http://www.blogger.com/atom/ns#" term="Freeware" /><title>ฟรี ดาวน์โหลด VLC Media Player 0.9.8a  Free Download</title><content type="html">&lt;div class="desc"&gt;โปรแกรมไว้สำหรับดูหนัง ในขณะที่ยัง โหลด บิต ไม่เสร็จ มีประโยชน์ มากๆ ลองใช้กันดูนะ&lt;br /&gt;VLC (initially VideoLAN Client) is a highly portable multimedia  player for various audio and video formats (MPEG-1, MPEG-2, MPEG-4, DivX, mp3,  ogg...) as well as DVDs, VCDs, and various streaming protocols. It can also be  used as a server to stream in unicast or multicast in IPv4 or IPv6 on a  high-bandwidth network.  &lt;ul&gt;&lt;li&gt;It is a free cross-platform media player  &lt;/li&gt;&lt;li&gt;It supports a large number of multimedia formats, without the need for  additional codecs  &lt;/li&gt;&lt;li&gt;It can also be used as a streaming server, with extended features (video on  demand, on the fly transcoding, ...) &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td align="left"&gt;&lt;small&gt;Latest Version&lt;br /&gt;&lt;b&gt;VLC Media Player  0.9.8a&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Old Versions&lt;br /&gt;&lt;a href="/download_vlc/4872/"&gt;VLC Media Player  0.9.6&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_vlc/4751/"&gt;VLC Media Player 0.9.4&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_vlc/4651/"&gt;VLC Media Player 0.9.2&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_vlc/4395/"&gt;VLC Media Player 0.8.6i&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_vlc/4246/"&gt;VLC Media Player 0.8.6h&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_vlc/3972/"&gt;VLC Media Player 0.8.6f&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_vlc/3852/"&gt;VLC Media Player 0.8.6e&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_vlc/3516/"&gt;VLC Media Player 0.8.6d&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_vlc/2830/"&gt;VLC Media Player 0.8.6c&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_vlc/2524/"&gt;VLC Media Player 0.8.6b&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_vlc/2500/"&gt;VLC Media Player 0.8.6b Test 1&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_vlc/2059/"&gt;VLC Media Player 0.8.6a&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_vlc/1958/"&gt;VLC Media Player 0.8.6&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_vlc/1922/"&gt;VLC Media Player 0.8.6 RC1&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_vlc/1876/"&gt;VLC Media Player 0.8.6 Test 2a&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_vlc/1843/"&gt;VLC Media Player 0.8.6 Test 2&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_vlc/1747/"&gt;VLC Media Player 0.8.6 Test 1&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_vlc/1038/"&gt;VLC Media Player 0.8.5&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_vlc/1020/"&gt;VLC Media Player 0.8.5 Test 4&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_vlc/983/"&gt;VLC Media Player 0.8.5 Test 3&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_vlc/919/"&gt;VLC Media Player 0.8.5 Test 2&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_vlc/879/"&gt;VLC Media Player 0.8.5 Test 1&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_vlc/626/"&gt;VLC Media Player 0.8.4a&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_vlc/575/"&gt;VLC Media Player 0.8.4&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_vlc/515/"&gt;VLC Media Player 0.8.4 Beta 2&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_vlc/410/"&gt;VLC Media Player 0.8.4 Beta 1&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_vlc/386/"&gt;VLC Media Player 0.8.2&lt;/a&gt;&lt;br /&gt;&lt;/small&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="box" title="Screenshots"&gt; &lt;h2&gt;Screenshots (Click image to view)&lt;/h2&gt;&lt;a href="/screenshot/vlc/4975_1/"&gt;&lt;img class="scr" alt="Screenshot 1" src="http://i.filehippo.com/img/ex/461t__vlc1.png" border="0" /&gt;&lt;/a&gt;&lt;a href="/screenshot/vlc/4975_2/"&gt;&lt;img class="scr" alt="Screenshot 2" src="http://i.filehippo.com/img/ex/458t__vlc2.png" border="0" /&gt;&lt;/a&gt;&lt;a href="/screenshot/vlc/4975_3/"&gt;&lt;img class="scr" alt="Screenshot 3" src="http://i.filehippo.com/img/ex/459t__vlc3.png" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5967925963269483996-8402245320591162136?l=devtoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://devtoday.blogspot.com/feeds/8402245320591162136/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5967925963269483996&amp;postID=8402245320591162136" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/8402245320591162136?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/8402245320591162136?v=2" /><link rel="alternate" type="text/html" href="http://devtoday.blogspot.com/2009/01/vlc-media-player-098a-free-download.html" title="ฟรี ดาวน์โหลด VLC Media Player 0.9.8a  Free Download" /><author><name>Devil Boy</name><uri>http://www.blogger.com/profile/11391501637779739676</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEIDRXsyfyp7ImA9WxVQEUs.&quot;"><id>tag:blogger.com,1999:blog-5967925963269483996.post-942804096655691673</id><published>2009-01-28T10:14:00.000-08:00</published><updated>2009-01-28T10:16:14.597-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-28T10:16:14.597-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Spybot Search and Destroy" /><category scheme="http://www.blogger.com/atom/ns#" term="Freeware" /><title>ฟรี ดาวน์โหลด Spybot Search and Destroy 1.6.2 PepiMK Software - 15.65MB (Freeware)</title><content type="html">&lt;div class="desc"&gt;Spybot - Search &amp;amp; Destroy can detect and remove spyware of  different kinds from your computer. Spyware is a relatively new kind of threat  that common anti-virus applications do not yet cover. If you see new toolbars in  your Internet Explorer that you didn't intentionally install, if your browser  crashes, or if you browser start page has changed without your knowing, you most  probably have spyware. But even if you don't see anything, you may be infected,  because more and more spyware is emerging that is silently tracking your surfing  behaviour to create a marketing profile of you that will be sold to  advertisement companies. Spybot-S&amp;amp;D is free, so there's no harm in trying to  see if something snooped into your computer, too :)&lt;br /&gt;&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td align="left"&gt;&lt;small&gt;Latest Version&lt;br /&gt;&lt;b&gt;Spybot Search &amp;amp; Destroy  1.6.2&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Old Versions&lt;br /&gt;&lt;a href="http://www.blogger.com/download_spybot_search_destroy/5021/"&gt;Spybot Search &amp;amp; Destroy  1.6.1.41 Beta&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/download_spybot_search_destroy/4900/"&gt;Spybot  Search &amp;amp; Destroy 1.6.1.38 Beta&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/download_spybot_search_destroy/4375/"&gt;Spybot Search &amp;amp; Destroy  1.6&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/download_spybot_search_destroy/4361/"&gt;Spybot Search &amp;amp;  Destroy 1.6 RC2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/download_spybot_search_destroy/4336/"&gt;Spybot  Search &amp;amp; Destroy 1.6 RC1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/download_spybot_search_destroy/4307/"&gt;Spybot Search &amp;amp; Destroy 1.6  Beta 2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/download_spybot_search_destroy/4242/"&gt;Spybot Search  &amp;amp; Destroy 1.6 Beta 1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/download_spybot_search_destroy/3739/"&gt;Spybot Search &amp;amp; Destroy  1.5.2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/download_spybot_search_destroy/3659/"&gt;Spybot Search &amp;amp;  Destroy 1.5.2 RC1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/download_spybot_search_destroy/3283/"&gt;Spybot  Search &amp;amp; Destroy 1.5.1.17 Beta&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/download_spybot_search_destroy/3133/"&gt;Spybot Search &amp;amp; Destroy  1.5.1.15&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/download_spybot_search_destroy/3067/"&gt;Spybot Search  &amp;amp; Destroy 1.5.1.14 RC1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/download_spybot_search_destroy/2838/"&gt;Spybot Search &amp;amp; Destroy  1.5.1.10 Beta&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/download_spybot_search_destroy/148/"&gt;Spybot  Search &amp;amp; Destroy 1.4&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/download_spybot_search_destroy/107/"&gt;Spybot Search &amp;amp; Destroy 1.4  RC2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/download_spybot_search_destroy/91/"&gt;Spybot Search &amp;amp;  Destroy 1.4 RC1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/download_spybot_search_destroy/5/"&gt;Spybot  Search &amp;amp; Destroy 1.3&lt;/a&gt;&lt;br /&gt;&lt;/small&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;h2&gt;Screenshots (Click image to view)&lt;/h2&gt;&lt;a href="http://www.blogger.com/screenshot/spybot_search_destroy/5168_1/"&gt;&lt;img class="scr" alt="Screenshot 1" src="http://i.filehippo.com/img/ex/1147t__spybot6.png" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.blogger.com/screenshot/spybot_search_destroy/5168_2/"&gt;&lt;img class="scr" alt="Screenshot 2" src="http://i.filehippo.com/img/ex/1148t__spybot7.png" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.blogger.com/screenshot/spybot_search_destroy/5168_3/"&gt;&lt;img class="scr" alt="Screenshot 3" src="http://i.filehippo.com/img/ex/1149t__spybot8.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5967925963269483996-942804096655691673?l=devtoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://devtoday.blogspot.com/feeds/942804096655691673/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5967925963269483996&amp;postID=942804096655691673" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/942804096655691673?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/942804096655691673?v=2" /><link rel="alternate" type="text/html" href="http://devtoday.blogspot.com/2009/01/spybot-search-and-destroy-162-pepimk.html" title="ฟรี ดาวน์โหลด Spybot Search and Destroy 1.6.2 PepiMK Software - 15.65MB (Freeware)" /><author><name>Devil Boy</name><uri>http://www.blogger.com/profile/11391501637779739676</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total></entry><entry gd:etag="W/&quot;DEMCRHYycCp7ImA9WxVQEUs.&quot;"><id>tag:blogger.com,1999:blog-5967925963269483996.post-1224173474373180437</id><published>2009-01-28T10:13:00.000-08:00</published><updated>2009-01-28T10:14:25.898-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-28T10:14:25.898-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="a-squared" /><category scheme="http://www.blogger.com/atom/ns#" term="spyware" /><category scheme="http://www.blogger.com/atom/ns#" term="Freeware.antivirus" /><title>ฟรี ดาวน์โหลด a-squared Free 4.0.0.38</title><content type="html">&lt;div class="desc"&gt;Security must not be a privilege. Under this motto, Emsi  Software provides the Malware scanner a-squared Free completely free of charge  for private use. But it is not a very limited version, it is a full tool to  clean your computer from Malware. Not only Spywares, as detected by classic  Anti-Spyware programs, but also especially Trojans, Backdoors, Worms, Dialers,  Keyloggers and a lot of other destructive pests, which makes it dangerous to  surf the web.  &lt;p&gt;a-squared removes reliably:  &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Trojans, Backdoors, Keyloggers, Rootkits  &lt;/li&gt;&lt;li&gt;Worms, Bots  &lt;/li&gt;&lt;li&gt;Dialers  &lt;/li&gt;&lt;li&gt;Spyware, Adware &lt;/li&gt;&lt;/ul&gt;&lt;small&gt;Latest Version&lt;br /&gt;&lt;b&gt;a-squared Free 4.0.0.38&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Old  Versions&lt;br /&gt;&lt;a href="/download_asquared/5011/"&gt;a-squared Free 4.0.0.21&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_asquared/4263/"&gt;a-squared Free 3.5.0.25&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_asquared/4149/"&gt;a-squared Free 3.5.0.15&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_asquared/4018/"&gt;a-squared Free 3.5.0.8&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_asquared/3679/"&gt;a-squared Free 3.1.0.20&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_asquared/3594/"&gt;a-squared Free 3.1.0.8&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_asquared/3575/"&gt;a-squared Free 3.1.0.6&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_asquared/3223/"&gt;a-squared Free 3.0.0.362&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_asquared/2939/"&gt;a-squared Free 3.0.0.357&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_asquared/2909/"&gt;a-squared Free 3.0.0.349&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_asquared/2872/"&gt;a-squared Free 3.0.0.334&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_asquared/2776/"&gt;a-squared Free 3.0.0.313&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_asquared/2763/"&gt;a-squared Free 3.0.0.311 Beta&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_asquared/2497/"&gt;a-squared Free 2.1&lt;/a&gt;&lt;br /&gt;&lt;/small&gt;&lt;div class="box" title="Screenshots"&gt; &lt;h2&gt;Screenshots (Click image to view)&lt;/h2&gt;&lt;a href="/screenshot/asquared/5173_1/"&gt;&lt;img class="scr" alt="Screenshot 1" src="http://i.filehippo.com/img/ex/845t__a2Free1.png" border="0" /&gt;&lt;/a&gt;&lt;a href="/screenshot/asquared/5173_2/"&gt;&lt;img class="scr" alt="Screenshot 2" src="http://i.filehippo.com/img/ex/844t__a2Free2.png" border="0" /&gt;&lt;/a&gt;&lt;a href="/screenshot/asquared/5173_3/"&gt;&lt;img class="scr" alt="Screenshot 3" src="http://i.filehippo.com/img/ex/843t__a2Free3.png" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5967925963269483996-1224173474373180437?l=devtoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://devtoday.blogspot.com/feeds/1224173474373180437/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5967925963269483996&amp;postID=1224173474373180437" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/1224173474373180437?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/1224173474373180437?v=2" /><link rel="alternate" type="text/html" href="http://devtoday.blogspot.com/2009/01/squared-free-40038.html" title="ฟรี ดาวน์โหลด a-squared Free 4.0.0.38" /><author><name>Devil Boy</name><uri>http://www.blogger.com/profile/11391501637779739676</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEQBQ309eip7ImA9WxVQEUs.&quot;"><id>tag:blogger.com,1999:blog-5967925963269483996.post-3931219105468867674</id><published>2009-01-28T10:11:00.000-08:00</published><updated>2009-01-28T10:12:32.362-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-28T10:12:32.362-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="add on" /><category scheme="http://www.blogger.com/atom/ns#" term="Google Toolbar" /><title>Google Toolbar 5.0.2124.6042 (IE) Beta</title><content type="html">&lt;div class="desc"&gt;Keep the power of Google search close at hand. Google Toolbar  puts a search box in your browser, making it easier than ever to find anything  you want on the Web.  &lt;p&gt;The version available here is for Internet Explorer only. A Firefox version  is also available from Browsers and Plugins.  &lt;/p&gt;&lt;p&gt;Main Features  &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Popup Blocker: Make surfing the web easier by stopping annoying popups.  &lt;/li&gt;&lt;li&gt;AutoFill: Automatically fill in a form with the click of a button.  &lt;/li&gt;&lt;li&gt;BlogThis: Create a weblog post pointing to the page you are visiting.  &lt;/li&gt;&lt;li&gt;Country Search: Restrict your search to pages located in a specific country.   &lt;/li&gt;&lt;li&gt;Google Search: Access Google's search technology from any web page.  &lt;/li&gt;&lt;li&gt;Search Site: Search only the pages of the site you're visiting.  &lt;/li&gt;&lt;li&gt;PageRank: See Google's ranking of the current page.  &lt;/li&gt;&lt;li&gt;Page Info: Access more information about a page including similar pages,  pages that link back to that page, as well as a cached snapshot.  &lt;/li&gt;&lt;li&gt;Highlight: Highlight your search terms as they appear on the page; each word  in its own color.  &lt;/li&gt;&lt;li&gt;Word Find: Find your search terms wherever they appear on the page.  &lt;/li&gt;&lt;li&gt;SpellCheck - Check your spelling whenever you type in web forms.  &lt;/li&gt;&lt;li&gt;WordTranslator - Translate English words into other languages.  &lt;/li&gt;&lt;li&gt;AutoLink (US only) - Turn street addresses into links to online maps.  &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td align="left"&gt;&lt;small&gt;Latest Version&lt;br /&gt;&lt;b&gt;Google Toolbar 5.0.2124.6042 (IE)  Beta&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Old Versions&lt;br /&gt;&lt;a href="/download_google_toolbar/3800/"&gt;Google  Toolbar 5.0.1112.7760 (IE) Beta&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_google_toolbar/3572/"&gt;Google Toolbar 5.0.1112.3348 (IE)  Beta&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_google_toolbar/2795/"&gt;Google Toolbar  4.0.1602.1060 (IE)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_google_toolbar/2153/"&gt;Google  Toolbar 4.0.1601.4978 (IE)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_google_toolbar/2127/"&gt;Google Toolbar 4.0.1601.3576  (IE)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_google_toolbar/1913/"&gt;Google Toolbar  4.0.1020.6156 (IE)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_google_toolbar/1820/"&gt;Google  Toolbar 4.0.1020.5070 (IE)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_google_toolbar/1736/"&gt;Google Toolbar 4.0.1020.3054  (IE)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_google_toolbar/1699/"&gt;Google Toolbar  4.0.1020.2544 (IE)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_google_toolbar/1693/"&gt;Google  Toolbar 4.0.1020.2388 (IE)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_google_toolbar/1662/"&gt;Google Toolbar 4.0.1020.1654  (IE)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_google_toolbar/1454/"&gt;Google Toolbar  4.0.1019.5266 (IE)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_google_toolbar/1359/"&gt;Google  Toolbar 4.0.1019.2378 (IE)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_google_toolbar/1149/"&gt;Google Toolbar 4.0.917 Beta (IE)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_google_toolbar/1122/"&gt;Google Toolbar 4.0.654 Beta (IE)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_google_toolbar/984/"&gt;Google Toolbar 4.0.629 Beta (IE)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_google_toolbar/936/"&gt;Google Toolbar 3.0.131.0 (IE)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_google_toolbar/746/"&gt;Google Toolbar 4.0.513 Beta (IE)&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_google_toolbar/549/"&gt;Google Toolbar 3.0.128.1&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_google_toolbar/436/"&gt;Google Toolbar 3.0.126.3&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_google_toolbar/299/"&gt;Google Toolbar 3.0.125.1&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_google_toolbar/208/"&gt;Google Toolbar 3.0.124.5&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_google_toolbar/131/"&gt;Google Toolbar 3.0.123&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_google_toolbar/120/"&gt;Google Toolbar 3.0.123 Beta&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_google_toolbar/99/"&gt;Google Toolbar 3.0.121 Beta&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_google_toolbar/48/"&gt;Google Toolbar 3.0.119 Beta&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_google_toolbar/47/"&gt;Google Toolbar 2.0.114&lt;/a&gt;&lt;br /&gt;&lt;/small&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div class="box" title="Screenshots"&gt; &lt;h2&gt;Screenshots (Click image to view)&lt;/h2&gt;&lt;a href="/screenshot/google_toolbar/5175_1/"&gt;&lt;img class="scr" alt="Screenshot 1" src="http://i.filehippo.com/img/ex/468t__googleSearch4.png" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5967925963269483996-3931219105468867674?l=devtoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://devtoday.blogspot.com/feeds/3931219105468867674/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5967925963269483996&amp;postID=3931219105468867674" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/3931219105468867674?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/3931219105468867674?v=2" /><link rel="alternate" type="text/html" href="http://devtoday.blogspot.com/2009/01/google-toolbar-5021246042-ie-beta.html" title="Google Toolbar 5.0.2124.6042 (IE) Beta" /><author><name>Devil Boy</name><uri>http://www.blogger.com/profile/11391501637779739676</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEUHRXc9fip7ImA9WxVQEUs.&quot;"><id>tag:blogger.com,1999:blog-5967925963269483996.post-2304987098665307164</id><published>2009-01-28T10:05:00.000-08:00</published><updated>2009-01-28T10:10:34.966-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-28T10:10:34.966-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Software" /><category scheme="http://www.blogger.com/atom/ns#" term="free download" /><category scheme="http://www.blogger.com/atom/ns#" term="PeaZip" /><title>PeaZip 2.5 ดีกว่า winzip ฟรี อีกต่างหาก</title><content type="html">มาลองใช้กันครับ PeaZip 2.5&lt;br /&gt;&lt;br /&gt;PeaZip คือ open source สำหรับจัดการ ไฟล์ที่ถูกบีบอัด หรือ ขยายไฟล์   &lt;p&gt;PeaZip ใช้ได้หลาย platform ทั้ง software ที่เป็น 32 และ 64 bit Windows (9x, 2000, XP, Vista) แบะ Linux&lt;/p&gt;&lt;ul&gt;&lt;li&gt;สร้าง: 7Z, ARC, BZ2, GZ, PAQ/LPAQ, PEA, QUAD/BALZ, TAR, UPX, ZIP;  &lt;/li&gt;&lt;li&gt;เปิดไฟล์: ACE, ARJ, CAB, DMG, ISO, LHA, RAR, UDF และอีกหลายประเภท&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;PeaZip allows to save  archive's layouts; apply powerful multiple search filters to archive's content;  handle multiple archives at once; export job definition as command line;  bookmark archives and folders etc...  &lt;p&gt;Other features: AES256 encryption, robust file copy, split/join files (file  span), secure file deletion, compare, checksum and hash files, system benchmark,  generate random passwords and keyfiles. &lt;/p&gt;&lt;br /&gt;&lt;div class="box" title="Screenshots"&gt; &lt;h2&gt;Screenshots (Click image to view)&lt;/h2&gt;&lt;a href="http://www.blogger.com/screenshot/peazip/5170_1/"&gt;&lt;img class="scr" alt="Screenshot 1" src="http://i.filehippo.com/img/ex/1199t__peaZip1.png" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.blogger.com/screenshot/peazip/5170_2/"&gt;&lt;img class="scr" alt="Screenshot 2" src="http://i.filehippo.com/img/ex/1200t__peaZip2.png" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.blogger.com/screenshot/peazip/5170_3/"&gt;&lt;img class="scr" alt="Screenshot 3" src="http://i.filehippo.com/img/ex/1201t__peaZip3.png" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;center&gt; &lt;table cellpadding="0" cellspacing="0"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td align="left"&gt;&lt;small&gt;Latest Version&lt;br /&gt;&lt;b&gt;PeaZip 2.5&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Old  Versions&lt;br /&gt;&lt;a href="/download_peazip/4946/"&gt;PeaZip 2.4.1&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_peazip/4874/"&gt;PeaZip 2.4&lt;/a&gt;&lt;br /&gt;&lt;a href="/download_peazip/4798/"&gt;PeaZip  2.3a&lt;/a&gt;&lt;br /&gt;&lt;/small&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;br /&gt;&lt;a href="http://www.filehippo.com/download_peazip/"&gt;Download PeaZip from FileHippo.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5967925963269483996-2304987098665307164?l=devtoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://devtoday.blogspot.com/feeds/2304987098665307164/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5967925963269483996&amp;postID=2304987098665307164" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/2304987098665307164?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/2304987098665307164?v=2" /><link rel="alternate" type="text/html" href="http://devtoday.blogspot.com/2009/01/peazip-25-winzip.html" title="PeaZip 2.5 ดีกว่า winzip ฟรี อีกต่างหาก" /><author><name>Devil Boy</name><uri>http://www.blogger.com/profile/11391501637779739676</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DU8NSHk_cCp7ImA9WxRXEEU.&quot;"><id>tag:blogger.com,1999:blog-5967925963269483996.post-4620689862670564564</id><published>2008-10-15T09:23:00.000-07:00</published><updated>2008-10-15T09:24:59.748-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-15T09:24:59.748-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="Date Picker" /><category scheme="http://www.blogger.com/atom/ns#" term="ExtJs" /><title>EXT JS Date Picker</title><content type="html">Multimonth, Multiselect, Weeknumbers,Weekends, Holidays,Custom CSS &lt;br /&gt;&lt;a href="http://www.lubber.de/extjs/datepickerplus/"&gt;http://www.lubber.de/extjs/datepickerplus/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5967925963269483996-4620689862670564564?l=devtoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://devtoday.blogspot.com/feeds/4620689862670564564/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5967925963269483996&amp;postID=4620689862670564564" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/4620689862670564564?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/4620689862670564564?v=2" /><link rel="alternate" type="text/html" href="http://devtoday.blogspot.com/2008/10/ext-js-date-picker.html" title="EXT JS Date Picker" /><author><name>Devil Boy</name><uri>http://www.blogger.com/profile/11391501637779739676</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUAMQX48eip7ImA9WxRXEEU.&quot;"><id>tag:blogger.com,1999:blog-5967925963269483996.post-8861334671761387372</id><published>2008-10-15T09:21:00.000-07:00</published><updated>2008-10-15T09:23:00.072-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-15T09:23:00.072-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="scrolling" /><category scheme="http://www.blogger.com/atom/ns#" term="Jquery" /><title>jScroller (javascript easy to make a scroller by using jQuery)</title><content type="html">jScroller&lt;br /&gt;a Autoscroller for jQuery by Markus Bordihn&lt;br /&gt;&lt;br /&gt;&lt;a href="http://jscroller.markusbordihn.de/example/"&gt;http://jscroller.markusbordihn.de/example/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5967925963269483996-8861334671761387372?l=devtoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://devtoday.blogspot.com/feeds/8861334671761387372/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5967925963269483996&amp;postID=8861334671761387372" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/8861334671761387372?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/8861334671761387372?v=2" /><link rel="alternate" type="text/html" href="http://devtoday.blogspot.com/2008/10/jscroller-javascript-easy-to-make.html" title="jScroller (javascript easy to make a scroller by using jQuery)" /><author><name>Devil Boy</name><uri>http://www.blogger.com/profile/11391501637779739676</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUEDRnw9eSp7ImA9WxRXEEU.&quot;"><id>tag:blogger.com,1999:blog-5967925963269483996.post-5547130183381076980</id><published>2008-10-15T09:20:00.000-07:00</published><updated>2008-10-15T09:21:17.261-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-15T09:21:17.261-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="scrolling" /><title>Instructions for Setting Up Scrolling Div Code</title><content type="html">&lt;p&gt;This page provides documentation for dyn-web's &lt;a href="http://www.dyn-web.com/code/scroll/"&gt;Scrolling Div's Code&lt;/a&gt;. The best starting point when implementing the code is to choose an example document from the &lt;a class="nag" href="http://www.dyn-web.com/zipped/dw_scroll.zip"&gt;download file&lt;/a&gt; that most closely resembles your desired implementation. Follow the pattern set there and read below for details and clarification.&lt;br /&gt;The download file contains numerous examples that are designed to make it as easy as possible for you to locate the code components required.&lt;br /&gt;Instructions for Setting Up Scrolling Div Code&lt;br /&gt;The following list outlines the steps for implementing the code. Details on each step are available below.&lt;br /&gt;Include &lt;a class="below" href="http://www.dyn-web.com/code/scroll/documentation.php#script"&gt;script tags&lt;/a&gt; pointing to the external JavaScript files.&lt;br /&gt;Place &lt;a class="below" href="http://www.dyn-web.com/code/scroll/documentation.php#divs"&gt;nested div's &lt;/a&gt;in the document where you wish the scroll area(s) to appear.&lt;br /&gt;Adjust &lt;a class="below" href="http://www.dyn-web.com/code/scroll/documentation.php#style"&gt;style specifications&lt;/a&gt; for the div's.&lt;br /&gt;Add &lt;a class="below" href="http://www.dyn-web.com/code/scroll/documentation.php#controls"&gt;scroll controls and/or scrollbar&lt;/a&gt; elements.&lt;br /&gt;&lt;a class="below" href="http://www.dyn-web.com/code/scroll/documentation.php#init"&gt;Initialize&lt;/a&gt; the code.&lt;br /&gt;Script Tags&lt;br /&gt;Place script tags for the external JavaScript files in the head of your document:&lt;script src="js/dw_event.js" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;script src="js/dw_scroll.js" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;script src="js/dw_scrollbar.js" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;script src="js/scroll_controls.js" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;Not all implementations require all four files. If you are working from an example document in the download file just use the ones included there. &lt;a class="link_back" href="http://www.dyn-web.com/code/scroll/documentation.php#instructions"&gt;^&lt;/a&gt;&lt;br /&gt;Scroll Area Div's&lt;br /&gt;Scroll areas are set up using nested div tags: a container and content. Each needs to be assigned a unique ID.&lt;div id="wn"&gt;&lt;br /&gt;&lt;div id="lyr1"&gt;&lt;br /&gt;[Content to scroll goes here]&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;If you would like to swap content in the scroll area, you can specify additional div's inside the container div, attaching a class of content which is used in the style sheet to set visibility hidden. &lt;div id="wn"&gt;&lt;br /&gt;&lt;div id="lyr1"&gt;&lt;br /&gt;[Content to scroll goes here]&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="lyr2" class="content"&gt;&lt;br /&gt;[Content in second hidden div goes here]&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;An &lt;a href="http://www.dyn-web.com/code/scroll/refresh.php"&gt;example&lt;/a&gt; demonstrates this feature. See &lt;a class="below" href="http://www.dyn-web.com/code/scroll/documentation.php#multi"&gt;below&lt;/a&gt; for information on setting up multiple scroll areas. &lt;a class="link_back" href="http://www.dyn-web.com/code/scroll/documentation.php#instructions"&gt;^&lt;/a&gt;&lt;br /&gt;Div Style Specifications&lt;br /&gt;The container div (wn in this case) can be positioned absolute or relative. Width, height and overflow hidden are required specifications. Adjust width and height to suit.div#wn {&lt;br /&gt;position:relative;&lt;br /&gt;width:280px; height:200px;&lt;br /&gt;overflow:hidden;&lt;br /&gt;}&lt;br /&gt;The scrolling content div is positioned absolute in the code, with left and top position set at 0, 0. &lt;a class="link_back" href="http://www.dyn-web.com/code/scroll/documentation.php#instructions"&gt;^&lt;/a&gt;&lt;br /&gt;Scroll Controls and Scrollbar&lt;br /&gt;You can set up scroll links for mouseover, mousedown, or onclick scrolling in addition to scrollbars. For example, linked images for mouseover scrolling could be set up as follows: &lt;div id="scrollLinks"&gt;&lt;br /&gt;&lt;a class="mouseover_up" href=""&gt;&lt;img src="images/btn-up.gif" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a class="mouseover_down" href=""&gt;&lt;img src="images/btn-dn.gif" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Event handling is set up by the code so that there is no need for event handler attributes in your HTML. As shown above, classes are attached to the scroll controls' linked images. Classes such as mouseover_down or click_down_by_100 instruct the code as to what event handlers should be attached to those links.&lt;br /&gt;Notice that the scroll control links demonstrated above are contained in a div with an ID. The ID itself is not important but in order to set up the scroll controls they do need to be contained within an element with a unique ID. You can add an additional class to links to apply margins, or place the individual linked images in table cells or div's or any other elements that you like, applying classes and styles to suit your design, as long as a container element has an ID that you can pass to the code, as shown &lt;a class="below" href="http://www.dyn-web.com/code/scroll/documentation.php#init"&gt;below&lt;/a&gt;. To initialize these scroll controls (apart from the scrollbar as demonstrated below) you would use the following: wndo.setUpScrollControls('scrollLinks');&lt;br /&gt;The scrollbar itself consists of the following elements: &lt;div id="track"&gt;&lt;br /&gt;&lt;div id="dragBar"&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Generally, the dragBar consists of a div with a background color specified in the style sheet. Unless you specify otherwise when initializing the scrollbar (see &lt;a class="below" href="http://www.dyn-web.com/code/scroll/documentation.php#init"&gt;below&lt;/a&gt;), the dragBar will be resized by the code according to the relative dimensions of the content and container. However if you would like it to be an image of fixed size you can include that in the dragBar element itself. This is generally advisable because of a problem for Internet Explorer in properly displaying an image in the background when a layer is dragged.&lt;br /&gt;Often when including both scroll controls and scrollbar you will put them in one containing element and control their position in the style sheet: &lt;div id="scrollbar"&gt;&lt;br /&gt;&lt;div id="up"&gt; (scroll link here) &lt;/div&gt;&lt;br /&gt;&lt;div id="track"&gt;&lt;br /&gt;&lt;div id="dragBar"&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div id="down"&gt; (scroll link here) &lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Example style specifications for the above scrollbar elements: div#scrollbar {&lt;br /&gt;position:relative;&lt;br /&gt;width:11px; height:200px;&lt;br /&gt;font-size:1px; /* for image vertical alignment issue */&lt;br /&gt;}&lt;br /&gt;div#track {&lt;br /&gt;position:absolute; left:0; top:12px;&lt;br /&gt;width:11px; height:176px;&lt;br /&gt;background: #336;&lt;br /&gt;}&lt;br /&gt;div#dragBar {&lt;br /&gt;position:absolute; left:1px; top:1px;&lt;br /&gt;width:9px; height:20px;&lt;br /&gt;background-color:#ceced6;&lt;br /&gt;}&lt;br /&gt;div#up { position:absolute; left:0; top:0; }&lt;br /&gt;div#down { position:absolute; left:0; bottom:0; }&lt;br /&gt;/* for safari, to prevent selection problem */&lt;br /&gt;div#scrollbar, div#track, div#dragBar, div#up, div#down {&lt;br /&gt;-moz-user-select: none;&lt;br /&gt;-khtml-user-select: none;&lt;br /&gt;}&lt;br /&gt;/* so no gap or misplacement due to image vertical alignment &lt;a id="back_f1" href="http://www.dyn-web.com/code/scroll/documentation.php#f1"&gt;[1]&lt;/a&gt;*/&lt;br /&gt;div#scrollbar img {&lt;br /&gt;display:block;&lt;br /&gt;}&lt;br /&gt;If you are using a table-based layout, the components could be placed in table cells, but the track and dragBar do need to be positioned. For example, the track could be a relative positioned div inside a table cell, the dragBar an absolute positioned div inside the track. Generally the height of the scrollbar and track would be adjusted to correspond to the height of your scroll area.&lt;br /&gt;The scroll controls and scrollbar are not initially displayed (display: none in the style sheet) so that users with incapable browsers will not see them. At the beginning of page load, the code determines the browser's capabilities and appropriately handles display of controls and content. &lt;a class="link_back" href="http://www.dyn-web.com/code/scroll/documentation.php#instructions"&gt;^&lt;/a&gt;&lt;br /&gt;Initializing the Code&lt;br /&gt;The code checks whether the browser supports the necessary objects and then assigns a function to be called onload. A link element for the style sheet is dynamically generated&lt;a id="back_f2" href="http://www.dyn-web.com/code/scroll/documentation.php#f2"&gt;[2]&lt;/a&gt; so that the contents will be fully visible for those without the necessary JavaScript support.if ( dw_scrollObj.isSupported() ) {&lt;br /&gt;dw_writeStyleSheet('css/scroll.css');&lt;br /&gt;dw_Event.add( window, 'load', init_dw_Scroll);&lt;br /&gt;}&lt;br /&gt;function init_dw_Scroll() {&lt;br /&gt;// Initialize scroll area&lt;br /&gt;// arguments: id of outer div, id of content div&lt;br /&gt;var wndo = new dw_scrollObj('wn', 'lyr1');&lt;br /&gt;&lt;br /&gt;// Initialize scrollbar&lt;br /&gt;// id of dragbar, id of track,&lt;br /&gt;// axis (v for vertical scrolling, 'h' for horizontal)&lt;br /&gt;// horizontal offset of dragbar in track, vertical offset&lt;br /&gt;// size dragBar according to amount of content? (boolean)&lt;br /&gt;wndo.setUpScrollbar('dragBar', 'track', 'v', 1, 1, true);&lt;br /&gt;&lt;br /&gt;// Initialize scroll links&lt;br /&gt;// id of element within which to locate scroll controls&lt;br /&gt;wndo.setUpScrollControls('scrollbar');&lt;br /&gt;}&lt;br /&gt;The function called onload instantiates the scroll and scrollbar objects and sets up event handling for the controls and scrollbar. This is generally included in a script segment in the head of example documents, but can be placed in an external file for use throughout your site if you prefer.&lt;br /&gt;If you are setting up scroll areas in situations where scrolling may not always be required, it is possible to instruct the code to hide the controls when they are not needed as shown below. An &lt;a href="http://www.dyn-web.com/code/scroll/refresh.php"&gt;example&lt;/a&gt; demonstrates. &lt;a class="link_back" href="http://www.dyn-web.com/code/scroll/documentation.php#instructions"&gt;^&lt;/a&gt;// arguments: controls container id,&lt;br /&gt;// autohide controls (boolean), axis ('v' or 'h')&lt;br /&gt;wndo.setUpScrollControls('scrollbar', true, 'v');&lt;br /&gt;Setting up Multiple Scroll Areas&lt;br /&gt;The code easily supports multiple scrolling content areas in a document. The &lt;a href="http://www.dyn-web.com/code/scroll/horiz.php"&gt;horizontal scrolling&lt;/a&gt; and &lt;a href="http://www.dyn-web.com/code/scroll/images.php"&gt;glide onclick scrolling&lt;/a&gt; examples both demonstrate, as does an example document in the &lt;a class="nag" href="http://www.dyn-web.com/zipped/dw_scroll.zip"&gt;download file&lt;/a&gt;.&lt;br /&gt;Set up nested div's as described &lt;a class="above" href="http://www.dyn-web.com/code/scroll/documentation.php#divs"&gt;above&lt;/a&gt; for each scroll area, assigning a unique ID to each. Use these ID's for the &lt;a class="above" href="http://www.dyn-web.com/code/scroll/documentation.php#style"&gt;style specifications&lt;/a&gt; for each scroll area. You may find it helpful to view the &lt;a href="http://www.dyn-web.com/code/scroll/css/horiz.css"&gt;style sheet&lt;/a&gt; for the horizontal scrolling demo. The elements containing the scroll controls and/or scrollbars also need unique ID's and style specifications set up as described &lt;a class="above" href="http://www.dyn-web.com/code/scroll/documentation.php#controls"&gt;above&lt;/a&gt;.&lt;br /&gt;Initializing the code for multiple scroll areas (copying from the horizontal scrolling example) is accomplished as follows: function init_dw_Scroll() {&lt;br /&gt;var wndo1 = new dw_scrollObj('wn1', 'lyr1', 't1');&lt;br /&gt;var wndo2 = new dw_scrollObj('wn2', 'lyr2', 't2');&lt;br /&gt;var wndo3 = new dw_scrollObj('wn3', 'lyr3', 't3');&lt;br /&gt;wndo1.setUpScrollControls('scrollLinks1');&lt;br /&gt;wndo2.setUpScrollControls('scrollLinks2');&lt;br /&gt;wndo3.setUpScrollControls('scrollbar');&lt;br /&gt;&lt;br /&gt;wndo3.setUpScrollbar('dragBar', 'track', 'h', 1, 1);&lt;br /&gt;}&lt;br /&gt;Since only one of the scroll areas in that example uses a scrollbar, there is only one invocation of setUpScrollbar.&lt;br /&gt;Accessibility Features of Scrolling Div's Code&lt;br /&gt;The style sheet is dynamically written or generated once it is determined that the browser is capable of supporting the code so content will be available when JavaScript is disabled or the user's browser is otherwise incapable of supporting the code.&lt;br /&gt;Device independent scrolling is provided by the code. You can include glide onclick scroll controls so that when a user focuses on a scroll link and hits enter scrolling occurs.&lt;br /&gt;Known Issues&lt;br /&gt;When users tab among elements, such as form elements or links inside the scroll area, this can cause the scrolling content div to jump which will throw off the scroll calculations. You can provide a link to jump to the top and reset the scroll mechanism. A similar related problem occurs when you attempt to point to named anchors inside the scrolling div's. The code provides a substitute: glide onclick scrolling to a specified ID. You can see both of these &lt;a href="http://www.dyn-web.com/code/scroll/refresh.php"&gt;demonstrated&lt;/a&gt;.&lt;br /&gt;If your scrolling content areas containing large images and if you don't include width and height attributes in those images, the initial calculations for the content div may not accurately reflect the size of the content. This may be due to some browsers calling onload before all images have completed loading or if you are using some version of DOM ready to initialize the code rather than onload. The easiest solution, although not always practical, is to specify width and height attributes for images to be included in the scrolling content areas.&lt;br /&gt;Scrolling large images is not recommended. You will generally be disappointed with the performance when attempting to do so. Unfortunately, the motion tends to be less than smooth and images tend to break up during scrolling movement. The larger the images, the more pronounced the problem. The problem tends to be more pronounced with mouseover scrolling and can often be minimized with relatively fast glide onclick scrolling.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.dyn-web.com/code/scroll/documentation.php"&gt;http://www.dyn-web.com/code/scroll/documentation.php&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5967925963269483996-5547130183381076980?l=devtoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://devtoday.blogspot.com/feeds/5547130183381076980/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5967925963269483996&amp;postID=5547130183381076980" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/5547130183381076980?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/5547130183381076980?v=2" /><link rel="alternate" type="text/html" href="http://devtoday.blogspot.com/2008/10/instructions-for-setting-up-scrolling.html" title="Instructions for Setting Up Scrolling Div Code" /><author><name>Devil Boy</name><uri>http://www.blogger.com/profile/11391501637779739676</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;AkcMQ30-fCp7ImA9WxRXEEU.&quot;"><id>tag:blogger.com,1999:blog-5967925963269483996.post-1358092491171406610</id><published>2008-10-15T09:18:00.000-07:00</published><updated>2008-10-15T09:28:02.354-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-15T09:28:02.354-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="css" /><title>Understanding vertical-align, or "How (Not) To Vertically Center Content"</title><content type="html">In your browser, the above example renders as:&lt;br /&gt;Hey, this is vertically centered. Yay!&lt;br /&gt;&lt;a href="http://phrogz.net/CSS/vertical-align/index.html"&gt;http://phrogz.net/CSS/vertical-align/index.html&lt;/a&gt;&lt;br /&gt;&lt;a href="mailto:gavin@refinery.com"&gt;Gavin Kistner&lt;/a&gt;,&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5967925963269483996-1358092491171406610?l=devtoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://devtoday.blogspot.com/feeds/1358092491171406610/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5967925963269483996&amp;postID=1358092491171406610" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/1358092491171406610?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/1358092491171406610?v=2" /><link rel="alternate" type="text/html" href="http://devtoday.blogspot.com/2008/10/understanding-vertical-align-or-how-not.html" title="Understanding vertical-align, or &quot;How (Not) To Vertically Center Content&quot;" /><author><name>Devil Boy</name><uri>http://www.blogger.com/profile/11391501637779739676</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEANQnw4eip7ImA9WxdbGEo.&quot;"><id>tag:blogger.com,1999:blog-5967925963269483996.post-1109145035215439355</id><published>2008-08-16T01:52:00.000-07:00</published><updated>2008-08-16T01:53:13.232-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-16T01:53:13.232-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="vdo" /><category scheme="http://www.blogger.com/atom/ns#" term="Widget" /><title>Clip Video Widget ยอดฮิตสำหรับนักท่องเน็ต อีกเช่นกัน</title><content type="html">&lt;object width="432" height="351"&gt;&lt;param name="movie" value="http://www.megavideo.com/v/BE6S880If828cc463c1625d47b45490dd936fad6.4618180805.0"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.megavideo.com/v/BE6S880If828cc463c1625d47b45490dd936fad6.4618180805.0" type="application/x-shockwave-flash" wmode="transparent" width="432" height="351"&gt;&lt;/embed&gt;&lt;/object&gt; &lt;br /&gt; หลังจากลง MP3 Widget ไป ปรากฎว่าติด Hot Post หลังจากติด Traffic ขึ้นอย่างเห็นได้ชัด ทั้งๆ ที่มีไม่กี่ Entry หรือทำ Blog ได้ไม่กี่วัน แสดงให้เห็นว่าอย่างหนึ่งว่า นักท่องเน็ตชอบการฟังเพลงทางเน็ตมาก และคนทำ Blog พอเห็นคนดูเยอะก็สนุกล่ะครับ ดังนั้น ก็ขอแนะนำ Clip Video Widget กันต่อเลย  อันนี้ก็ยอดฮิตไม่แพ้กัน มาเริ่มกันเลยครับ&lt;br /&gt;&lt;br /&gt;       1. หาผู้ให้บริการก่อนมีเยอะมากทั้งไทยและต่างประเทศ เช่น YouTube  Megavideo Mthai เป็นต้น ที่สำคัญฟรี ถ้าใครมี Gmail ก็ใช้ Youtube ได้เลย ส่วนของผมใช้ Megavideo แล้วกัน น้องใหม่มาแรง รูปสวย ที่สำคัญถ้าคนดูเยอะมีรางวัลด้วย ก็ลงทะเบียนด้วย E-mail อันเดียวเหมือนกัน&lt;br /&gt;       2. ลงทะเบียน Confirm เสร็จก็ต้องหา Video มาลงกัน ในที่นี้ผมใช้ MV รูปที่มีทุกบ้าน ที่ GMM ให้โหลดฟรี อีกเช่นกัน เอาเต็มๆ เลยครับ 25 MB ดูแล้วซึ้งดี (ถ้าเป็นไฟล์อื่นระวังเรื่องลิขสิทธิ์ด้วยนะครับ)&lt;br /&gt;       3. การใช้งาน Megavideo ง่ายมาก แค่ Click Upload ตั้งชื่อไฟล์ กำหนดว่าจะ Share มั้ย แล้วก็ Upload ไฟล์ขึ้นไป รอนานหน่อยแต่ถ้าเป็น ADSL ก็แผล็บเดียว&lt;br /&gt;       4. Upload เสร็จก็ไปเลือกวีดีโอตัวเอง จะมี Link และ Code Embed ให้เลือก สามารถกำหนดสีและขนาดได้ เมื่อปรับจนพอใจ ถ้าจะให้โชว์ที่ Blog ก็เอา Code Embed มาวางที่ Blog ได้เลย&lt;br /&gt;&lt;br /&gt;                ส่วนใครอยากได้ Clip ตัวนี้ไปวางที่ Blog ตัวเอง ก็ Click ที่ตัววีดีโอ มันจะไปที่หน้าเว็บของ Megavideo  ในส่วนของวีดีโอตัวนี้ เสร็จแล้วก็ Copy CodeEmbed มาได้เลย&lt;br /&gt;  &lt;br /&gt;                มีทิปการดูวิดีโอทางเน็ตนิดหน่อย คือรอบแรกอาจจะไม่ต้องดู ปล่อยให้แถบสีเต็มก่อน แล้วค่อยกลับมา Play อีกรอบภาพและเสียงจะไม่สะดุด และเคล็ดลับอีกอย่างคือ ในพวกที่ให้บริการทั้งหลาย สามารถเอา Code ของคนอื่นมาวางได้ด้วย แต่ต้องระวังเรื่องลิขสิทธิ์ด้วยนะครับ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5967925963269483996-1109145035215439355?l=devtoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://devtoday.blogspot.com/feeds/1109145035215439355/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5967925963269483996&amp;postID=1109145035215439355" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/1109145035215439355?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/1109145035215439355?v=2" /><link rel="alternate" type="text/html" href="http://devtoday.blogspot.com/2008/08/clip-video-widget.html" title="Clip Video Widget ยอดฮิตสำหรับนักท่องเน็ต อีกเช่นกัน" /><author><name>Devil Boy</name><uri>http://www.blogger.com/profile/11391501637779739676</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEAHSXkzeip7ImA9WxdbGEo.&quot;"><id>tag:blogger.com,1999:blog-5967925963269483996.post-1666580122429248238</id><published>2008-08-16T01:49:00.000-07:00</published><updated>2008-08-16T01:52:18.782-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-16T01:52:18.782-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Widget" /><category scheme="http://www.blogger.com/atom/ns#" term="rss" /><title>Rss Widget</title><content type="html"> Widget ประเภทข่าวสาร
&lt;br /&gt;&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" type="application/x-shockwave-flash" width="170px" height="423px" id="InsertWidget_2254ebb5-9f18-468c-a10f-6f70390b1961" align="middle"&gt;&lt;param name="movie" value="http://widgetserver.com/syndication/flash/wrapper/InsertWidget.swf"/&gt;&lt;param name="quality" value="high" /&gt;&lt;param name="wmode" value="transparent" /&gt;&lt;param name="menu" value="false" /&gt;&lt;param name="flashvars" value="r=2&amp;appId=2254ebb5-9f18-468c-a10f-6f70390b1961" /&gt; &lt;embed src="http://widgetserver.com/syndication/flash/wrapper/InsertWidget.swf"  name="InsertWidget_2254ebb5-9f18-468c-a10f-6f70390b1961"  width="170px" height="423px" quality="high" menu="false" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" align="middle" flashvars="r=2&amp;appId=2254ebb5-9f18-468c-a10f-6f70390b1961" /&gt;&lt;/object&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" type="application/x-shockwave-flash" width="170px" height="423px" id="InsertWidget_494ffbdd-d21e-4804-b84f-a679666efcb1" align="middle"&gt;&lt;param name="movie" value="http://widgetserver.com/syndication/flash/wrapper/InsertWidget.swf"/&gt;&lt;param name="quality" value="high" /&gt;&lt;param name="wmode" value="transparent" /&gt;&lt;param name="menu" value="false" /&gt;&lt;param name="flashvars" value="r=2&amp;appId=494ffbdd-d21e-4804-b84f-a679666efcb1" /&gt; &lt;embed src="http://widgetserver.com/syndication/flash/wrapper/InsertWidget.swf"  name="InsertWidget_494ffbdd-d21e-4804-b84f-a679666efcb1"  width="170px" height="423px" quality="high" menu="false" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" align="middle" flashvars="r=2&amp;appId=494ffbdd-d21e-4804-b84f-a679666efcb1" /&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5967925963269483996-1666580122429248238?l=devtoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://devtoday.blogspot.com/feeds/1666580122429248238/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5967925963269483996&amp;postID=1666580122429248238" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/1666580122429248238?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/1666580122429248238?v=2" /><link rel="alternate" type="text/html" href="http://devtoday.blogspot.com/2008/08/rss-widget.html" title="Rss Widget" /><author><name>Devil Boy</name><uri>http://www.blogger.com/profile/11391501637779739676</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEICSXk8eyp7ImA9WxdbGEo.&quot;"><id>tag:blogger.com,1999:blog-5967925963269483996.post-6348645630140593500</id><published>2008-08-16T01:47:00.000-07:00</published><updated>2008-08-16T01:49:28.773-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-16T01:49:28.773-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Stat" /><category scheme="http://www.blogger.com/atom/ns#" term="Counter" /><category scheme="http://www.blogger.com/atom/ns#" term="Widget" /><title>Free Stat Counter Widget เยอะจริงๆ จนไม่รู้จะเลือกอันไหนดี</title><content type="html">&lt;div align="left"&gt; &lt;img src="http://widget.exteen.com/images/10.gif" alt="" /&gt;&lt;img src="http://widget.exteen.com/images/14.gif" alt="" /&gt;&lt;img src="http://widget.exteen.com/images/26.gif" alt="" /&gt; &lt;/div&gt; &lt;div align="left"&gt; &lt;img src="http://widget.exteen.com/images/27.gif" alt="" /&gt;&lt;img src="http://widget.exteen.com/images/29.gif" alt="" /&gt;&lt;img src="http://widget.exteen.com/images/30.gif" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="left"&gt; Free Stat Counter Widget เมื่อก่อนจะนับเป็น Widget ก็คงจะไม่ได้เพราะไม่สวยเอาเสียเลย แต่ปัจจุบันคงพอได้ เพราะมีแบบ Animation กราฟฟิกสวยงาม แถมข้อมูลสถิติต่างๆ ยังครบครัน ที่สำคัญฟรี เลือกและลองใช้มาหลายตัวแล้ว ก็ขอจัดอันดับแบบทัศนะส่วนตัว ดังนี้ &lt;/div&gt; &lt;div align="left"&gt; &lt;/div&gt; &lt;blockquote&gt;  &lt;div align="left"&gt;  &lt;u&gt;&lt;strong&gt;อันดับ 1 &lt;/strong&gt;&lt;/u&gt;สำหรับผมจะเป็นใครไปไม่ได้นอกจาก &lt;a href="http://www.histats.com/" target="_blank"&gt;Histats&lt;/a&gt; และบ้านเราใช้กันอย่างแพร่หลาย ข้อดีเยอะมากครับนับไม่ถูกเลย เช่น ตัว Counter มีให้เลือกเยอะน่าจะเป็นร้อยแบบ แบบรูปข้างบน และตัวอย่างด้านขวาของผม โชว์สถิติทั้งหมดและประจำวันได้ที่ตัวกราฟฟิก สามารถเลือกโชว์ข้อมูลสำหรับสาธารณะได้ และที่สำคัญข้อมูลสถิติของคนทำเว็บมีหมดเลยครับ และ RealTime ซะด้วย เช่น สถิติรายชั่วโมง รายวัน รายเดือน IP-Address อะไร มาจากเว็บไหน Search Engine อะไร และ Key Word อะไร มาจากประเทศไหน ดูหน้าไหนมากที่สุด เป็นต้น บอกไม่หมดต้องลองใช้เอง ข้อมูลเหล่านี้ค่อนข้างเป็นประโยชน์ ให้เราปรับปรุงเว็บบล็อกของเราให้ตรงกับคนที่เข้ามาดูได้ ที่สำคัญถ้า Traffic เยอะก็จะถูกจับตามองล่ะครับ ถ้าเนื้อหาดีก็มีลุ้นได้ค่าโฆษณากัน แต่ก็มีข้อเสียนิดหน่อย คือ log file ให้แค่ 1000 รายการ ดูจะน้อยไปหน่อย ของผมเพิ่งเขียน Entry ที่นี่ไม่กี่วัน พอติด Hot Post หน่อยจะถึงอยู่แล้ว แต่ก็ไม่เป็นไรสามารถส่งข้อมูล log file ไปที่ Excel ได้ และที่สำคัญสามารถทำได้มากกว่า 1 site ตอนนี้ของผมจะมีถึง 10 อยู่แล้วก็ยังใช้ได้อยู่ Alexa จัด Traffic อยู่ 4 พันกว่า แต่อันดับก็ไต่มาเรื่อยๆ &lt;/div&gt;  &lt;div align="left"&gt;  &lt;/div&gt;  &lt;div align="left"&gt;  &lt;u&gt;&lt;strong&gt;อันดับ 2&lt;/strong&gt;&lt;/u&gt;  ให้เป็น &lt;a href="http://www.motigo.com/" target="_blank"&gt;Motigo&lt;/a&gt; ครับ บริการจะคล้าย Histats ยังลองใช้ไม่เต็มที่ แต่เว็บค่อนข้างอืดไปหน่อย โฆษณาว่าดีที่สุดเท่าที่เคยมีมา นอกจากจะมีเรื่องสถิติแล้ว ยังมีของแถมให้อีกทั้ง Blog Forum เป็นต้น Alexa จัดอันดับ 2 พันกว่า &lt;/div&gt;  &lt;div align="left"&gt;  &lt;/div&gt;  &lt;div align="left"&gt;  &lt;u&gt;&lt;strong&gt;  อันดับ 3&lt;/strong&gt;&lt;/u&gt; เป็น &lt;a href="http://www.statcounter.com/" target="_blank"&gt;StatCounter&lt;/a&gt; ข้อมูลแน่นดี แต่กราฟฟิกไม่สวยจึงให้เป็นอันดับ 3 เหมาะสำรับคนที่มีหลาย site และ Alexa จัดให้อยู่ 226 และเป็นอันดับ 1 ของโลก ในประเภท Free Counter แต่โดยส่วนตัวไม่ติดใจเท่าไร เพราะกราฟฟิกไม่สวย เข้าใจว่ามาก่อนเจ้าอื่น และคนทำเว็บ ส่วนใหญ่ไม่อยากย้ายกัน &lt;/div&gt;  &lt;div align="left"&gt;  &lt;/div&gt;  &lt;div align="left"&gt;  &lt;u&gt;&lt;strong&gt;   อันดับ 4&lt;/strong&gt;&lt;/u&gt; เป็น &lt;a href="http://www.countertool.com/" target="_blank"&gt;CounterTool&lt;/a&gt; ที่ให้เพราะเป็นตัวแรกที่ใช้ มีสถิติเท่าที่จำเป็นรวดเร็วดี แต่พอใช้ Hitstats แล้วก็ต้องเอาออก  &lt;/div&gt;  &lt;div align="left"&gt;  &lt;/div&gt; &lt;/blockquote&gt; &lt;div align="left"&gt; ส่วนที่เหลือเป็น Free Counter รุ่นเก่า เช่น hellocounter.com 123Counters.com พวกนี้ก็เร็วดีครับ ที่ไม่เลิกทำเพราะเป็นรุ่นแรกๆ และมีคนใช้เยอะก็ไม่จำเป็นต้องเปลี่ยนแปลง จริงๆ ยังมีพวกอันดับต้นๆ อีกหลายแห่งเช่น SiteMeter AddFreeStat ก็ไม่เคยไปลองใช้ แค่ Histats ก็เหลือเฟือแล้ว &lt;/div&gt; &lt;div align="left"&gt; &lt;/div&gt; &lt;div align="left"&gt;สุดท้ายที่จะลืมไม่ได้สำหรับคนทำเว็บบล็อก กัน คือ Google Analytical อันนี้ไม่มีกราฟฟิกโชว์ และไม่ Real Time จึงไม่ขอจัดอันดับ แต่จำเป็นสำหรับคนทำเว็บพอสมควร เพราะเป็น Tool สำหรับ webmaster ที่ดีมากตัวหนึ่ง สถิติน่าเชื่อถือเพราะยี่ห้อ Google และมีให้เยอะมากจนดูไม่หมด และไม่มีปัญหาเรื่อง log file ที่ได้แค่ 1,000 ก็เลือกเอาตามใจชอบ แต่ผมยังไม่ได้ลองวาง Code ที่นี่ ไม่แน่ใจว่า Side Bar จะได้หรือเปล่า ไม่งั้นก็ต้องไปที่ CSS ยุ่งเลยยังไม่ลอง &lt;/div&gt; &lt;div align="left"&gt; &lt;/div&gt; &lt;div align="left"&gt; ส่วนของ Histats การวาง Code ที่ Side Bar ก็ต้องพยายามกันหน่อย ถ้าวางแล้วไม่ขึ้น ต้องไปดูวิธีการวางที่ &lt;a href="http://widget.exteen.com/20071212/code-exteen"&gt;Entry การวาง Code&lt;/a&gt; &lt;/div&gt; &lt;div align="left"&gt; &lt;/div&gt; &lt;div align="left"&gt; &lt;/div&gt; &lt;div align="left"&gt; ยาวเหมือนกันน่ะนี่ ขอจบแล้วกันครับ&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Credit &lt;a href="http://widget.exteen.com/20071217/free-stat-counter-widget"&gt;http://widget.exteen.com/20071217/free-stat-counter-widget&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5967925963269483996-6348645630140593500?l=devtoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://devtoday.blogspot.com/feeds/6348645630140593500/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5967925963269483996&amp;postID=6348645630140593500" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/6348645630140593500?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/6348645630140593500?v=2" /><link rel="alternate" type="text/html" href="http://devtoday.blogspot.com/2008/08/free-stat-counter-widget.html" title="Free Stat Counter Widget เยอะจริงๆ จนไม่รู้จะเลือกอันไหนดี" /><author><name>Devil Boy</name><uri>http://www.blogger.com/profile/11391501637779739676</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEQNSXc8fip7ImA9WxdbGEo.&quot;"><id>tag:blogger.com,1999:blog-5967925963269483996.post-7773054689368516125</id><published>2008-08-16T01:44:00.000-07:00</published><updated>2008-08-16T01:46:38.976-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-16T01:46:38.976-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Widget" /><category scheme="http://www.blogger.com/atom/ns#" term="Yahoo" /><title>Free Widgets from Yahoo! Widgets</title><content type="html">More fun with games, entertainment, etc.&lt;br /&gt;&lt;a href="http://widgets.yahoo.com/"&gt;http://widgets.yahoo.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5967925963269483996-7773054689368516125?l=devtoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://devtoday.blogspot.com/feeds/7773054689368516125/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5967925963269483996&amp;postID=7773054689368516125" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/7773054689368516125?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/7773054689368516125?v=2" /><link rel="alternate" type="text/html" href="http://devtoday.blogspot.com/2008/08/free-widgets-from-yahoo-widgets.html" title="Free Widgets from Yahoo! Widgets" /><author><name>Devil Boy</name><uri>http://www.blogger.com/profile/11391501637779739676</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEADSHk5eSp7ImA9WxdWEUQ.&quot;"><id>tag:blogger.com,1999:blog-5967925963269483996.post-8845223158819430898</id><published>2008-07-04T10:32:00.001-07:00</published><updated>2008-07-04T10:32:59.721-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-04T10:32:59.721-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="brew" /><category scheme="http://www.blogger.com/atom/ns#" term="Adobe" /><category scheme="http://www.blogger.com/atom/ns#" term="flash cs3" /><title>Flash Lite for BREW Publisher for Flash CS3 Pro</title><content type="html">&lt;h3 id="siteSub"&gt;     From Adobe Labs  &lt;/h3&gt;   &lt;div id="contentSub"&gt;        &lt;/div&gt;       &lt;!-- start content --&gt;   &lt;table id="toc" border="0"&gt;&lt;tbody&gt;&lt;tr id="toctitle"&gt;&lt;td align="center"&gt; &lt;b&gt;Table of contents&lt;/b&gt; &lt;script type="text/javascript"&gt;showTocToggle("show","hide")&lt;/script&gt;&lt;span class="toctoggle"&gt;[&lt;a href="javascript:toggleToc()" class="internal"&gt;&lt;span id="showlink" style="display: none;"&gt;show&lt;/span&gt;&lt;span id="hidelink"&gt;hide&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr id="tocinside"&gt;&lt;td&gt; &lt;div class="tocline"&gt;&lt;a href="http://labs.adobe.com/wiki/index.php/Flash_Lite_for_BREW_Publisher_for_Flash_CS3_Pro#Flash_Lite_for_BREW_Publisher_for_Flash_CS3_Professional_.28preview_release.29"&gt;1 Flash Lite for BREW Publisher for Flash CS3 Professional (preview release)&lt;/a&gt;&lt;br /&gt;&lt;/div&gt; &lt;div class="tocindent"&gt; &lt;div class="tocindent"&gt; &lt;p&gt;&lt;a href="http://labs.adobe.com/wiki/index.php/Flash_Lite_for_BREW_Publisher_for_Flash_CS3_Pro#Download"&gt;1.1 Download&lt;/a&gt;&lt;br /&gt;&lt;a href="http://labs.adobe.com/wiki/index.php/Flash_Lite_for_BREW_Publisher_for_Flash_CS3_Pro#Known_Issues"&gt;1.2 Known Issues&lt;/a&gt;&lt;br /&gt;&lt;a href="http://labs.adobe.com/wiki/index.php/Flash_Lite_for_BREW_Publisher_for_Flash_CS3_Pro#Support"&gt;1.3 Support&lt;/a&gt;&lt;br /&gt;&lt;/p&gt; &lt;/div&gt; &lt;/div&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;a name="Flash_Lite_for_BREW_Publisher_for_Flash_CS3_Professional_.28preview_release.29"&gt;&lt;/a&gt;&lt;h2&gt; Flash Lite for BREW Publisher for Flash CS3 Professional (preview release)&lt;/h2&gt; &lt;p&gt;This preview release of the Flash Lite for BREW publisher includes a plug-in for Flash CS3 Professional that lets you publish your Flash applications to the native BREW application format. &lt;/p&gt;&lt;p&gt;The Flash Lite Publisher for BREW lets you publish your Flash Lite content to the native BREW application format (MOD and MIF files) for testing on supported BREW handsets. Also included in this installation are files necessary for previewing your Flash Lite application in the BREW Simulator, part of the BREW 3.1 SDK (a separate download and installation). &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;i&gt;Note: It is recommended that you &lt;a href="http://brew.qualcomm.com/brew/en/developer/getting_started/get_started.html" class="external" title="http://brew.qualcomm.com/brew/en/developer/getting started/get started.html" rel="nofollow" target="_blank"&gt;download and install the BREW SDK 3.1.5&lt;/a&gt; before installing the Flash Lite Publisher for BREW. This will insure that the necessary files for previewing your Flash Lite applications in the Qualcomm BREW SDK Simulator are installed properly.&lt;/i&gt; &lt;/p&gt; &lt;a name="Download"&gt;&lt;/a&gt;&lt;h4&gt; Download &lt;/h4&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://download.macromedia.com/pub/labs/flashlite2_1_brew/flashlite2_1_publisher_brew_cs3.exe" class="external" title="http://download.macromedia.com/pub/labs/flashlite2 1 brew/flashlite2 1 publisher brew cs3.exe" rel="nofollow" target="_blank"&gt;(Preview release) Flash Lite for BREW Publisher for Flash CS3 Professional&lt;/a&gt; (3.0 MB) &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;(last updated 16 April 2007) &lt;/p&gt; &lt;a name="Known_Issues"&gt;&lt;/a&gt;&lt;h4&gt; Known Issues &lt;/h4&gt; &lt;ol&gt;&lt;li&gt; This is only a preview release and not the final version. &lt;/li&gt;&lt;li&gt; The plug-in will only work on English versions of Windows operating systems. &lt;/li&gt;&lt;li&gt; Publishing of MOD/MIF files from within Flash CS3 Professional does work correctly and the published files do work in the BREW SDK Simulator and on supported BREW handsets. &lt;/li&gt;&lt;/ol&gt; &lt;a name="Support"&gt;&lt;/a&gt;&lt;h4&gt; Support &lt;/h4&gt; &lt;p&gt;There is no direct support for this preview release of the Flash Lite for BREW Publisher for Flash CS3 Professional and is offered as is. If you have any comments or feedback you can post them in our &lt;a href="http://www.adobe.com/cfusion/webforums/forum/categories.cfm?forumid=68&amp;amp;catid=611&amp;amp;entercat=y" class="external" title="http://www.adobe.com/cfusion/webforums/forum/categories.cfm?forumid=68&amp;amp;catid=611&amp;amp;entercat=y" rel="nofollow" target="_blank"&gt;Adobe Flash Lite: BREW discussion group&lt;/a&gt;. &lt;/p&gt; &lt;!-- Saved in parser cache with key labswiki:pcache:idhash:1750-1!1!0!1!0!1!0!!en and timestamp 20080704130516 --&gt; &lt;div class="printfooter"&gt; Retrieved from "&lt;a href="http://labs.adobe.com/wiki/index.php/Flash_Lite_for_BREW_Publisher_for_Flash_CS3_Pro"&gt;http://labs.adobe.com/wiki/index.php/Flash_Lite_for_BREW_Publisher_for_Flash_CS3_Pro&lt;/a&gt;"&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5967925963269483996-8845223158819430898?l=devtoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://devtoday.blogspot.com/feeds/8845223158819430898/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5967925963269483996&amp;postID=8845223158819430898" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/8845223158819430898?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/8845223158819430898?v=2" /><link rel="alternate" type="text/html" href="http://devtoday.blogspot.com/2008/07/flash-lite-for-brew-publisher-for-flash.html" title="Flash Lite for BREW Publisher for Flash CS3 Pro" /><author><name>Devil Boy</name><uri>http://www.blogger.com/profile/11391501637779739676</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;CEAHQHo-eyp7ImA9WxdWEUQ.&quot;"><id>tag:blogger.com,1999:blog-5967925963269483996.post-8814866630809284513</id><published>2008-07-04T10:31:00.000-07:00</published><updated>2008-07-04T10:32:11.453-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-04T10:32:11.453-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Adobe" /><category scheme="http://www.blogger.com/atom/ns#" term="Portlet Toolkit" /><category scheme="http://www.blogger.com/atom/ns#" term="ColdFusion" /><title>ColdFusion Portlet Toolkit</title><content type="html">&lt;h3 id="siteSub"&gt;     From Adobe Labs  &lt;/h3&gt;   &lt;div id="contentSub"&gt;        &lt;/div&gt;       &lt;!-- start content --&gt;   &lt;table id="toc" border="0"&gt;&lt;tbody&gt;&lt;tr id="toctitle"&gt;&lt;td align="center"&gt; &lt;b&gt;Table of contents&lt;/b&gt; &lt;script type="text/javascript"&gt;showTocToggle("show","hide")&lt;/script&gt;&lt;span class="toctoggle"&gt;[&lt;a href="javascript:toggleToc()" class="internal"&gt;&lt;span id="showlink" style="display: none;"&gt;show&lt;/span&gt;&lt;span id="hidelink"&gt;hide&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr id="tocinside"&gt;&lt;td&gt; &lt;div class="tocline"&gt;&lt;a href="http://labs.adobe.com/wiki/index.php/ColdFusion_Portlet_Toolkit#Overview"&gt;1 Overview&lt;/a&gt;&lt;br /&gt;&lt;/div&gt; &lt;div class="tocline"&gt;&lt;a href="http://labs.adobe.com/wiki/index.php/ColdFusion_Portlet_Toolkit#Download_and_Installation"&gt;2 Download and Installation&lt;/a&gt;&lt;br /&gt;&lt;/div&gt; &lt;div class="tocline"&gt;&lt;a href="http://labs.adobe.com/wiki/index.php/ColdFusion_Portlet_Toolkit#Documentation"&gt;3 Documentation&lt;/a&gt;&lt;br /&gt;&lt;/div&gt; &lt;div class="tocline"&gt;&lt;a href="http://labs.adobe.com/wiki/index.php/ColdFusion_Portlet_Toolkit#Known_Issues"&gt;4 Known Issues&lt;/a&gt;&lt;br /&gt;&lt;/div&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;div class="editsection" style="float: right; margin-left: 5px;"&gt;[&lt;a href="http://labs.adobe.com/wiki/index.php?title=ColdFusion_Portlet_Toolkit&amp;amp;action=edit&amp;amp;section=1" title="ColdFusion Portlet Toolkit"&gt;edit&lt;/a&gt;]&lt;/div&gt;&lt;a name="Overview"&gt;&lt;/a&gt;&lt;h2&gt;Overview&lt;/h2&gt; &lt;p&gt;The ColdFusion Portlet Toolkit is a proof-of-concept library that allows you to use ColdFusion as a Portal Application within an IBM WebSphere Portal Server (WSPS version 5 and greater). A Portal Application can serve several different portlets. Every portlet you deploy will run inside the same ColdFusion Portal Application. This toolkit provides one concrete Portlet called CFCPortlet. This Portlet simply passes the requests on to the ColdFusion server. The ColdFusion then invokes CFC methods to render the Portlet, and to perform actions. You can deploy several instances of this Portlet on your Portal Server. The setting cfcName defines which CFC will be used to marshal the Portlet events. &lt;/p&gt;&lt;p&gt;The ColdFusion Portlet Toolkit is a proof-of-concept. As such, all items available in the toolkit are of experimental quality; we have released them "as is" under the &lt;a href="http://labs.adobe.com/wiki/index.php/Source:license" title="Source:license"&gt;Adobe Labs source license&lt;/a&gt;. &lt;/p&gt; &lt;div class="editsection" style="float: right; margin-left: 5px;"&gt;[&lt;a href="http://labs.adobe.com/wiki/index.php?title=ColdFusion_Portlet_Toolkit&amp;amp;action=edit&amp;amp;section=2" title="ColdFusion Portlet Toolkit"&gt;edit&lt;/a&gt;]&lt;/div&gt;&lt;a name="Download_and_Installation"&gt;&lt;/a&gt;&lt;h2&gt;Download and Installation&lt;/h2&gt; &lt;p&gt;To use the ColdFusion Portlet Toolkit, follow these steps: &lt;/p&gt;&lt;p&gt;1. Download the &lt;a href="http://download.macromedia.com/pub/labs/cf_websphere_portalkit/cf_portlet_toolkit_102006.zip" class="external" title="http://download.macromedia.com/pub/labs/cf websphere portalkit/cf portlet toolkit 102006.zip" rel="nofollow" target="_blank"&gt;ColdFusion Portlet Toolkit&lt;/a&gt; and see the &lt;a href="http://labs.adobe.com/wiki/index.php/Source:license" title="Source:license"&gt;Adobe Labs source license&lt;/a&gt; for terms of use. &lt;/p&gt;&lt;p&gt;&lt;span class="note"&gt;Note: Your use of this site including software downloads, submission of comments, ideas, feature requests and techniques on this and other Adobe maintained forums, as well as Adobe’s rights to use such materials, is governed by the &lt;a href="http://www.adobe.com/misc/copyright.html" class="external" title="http://www.adobe.com/misc/copyright.html" rel="nofollow" target="_blank"&gt;Terms of Use&lt;/a&gt;.&lt;/span&gt; &lt;/p&gt;&lt;p&gt;2. Unzip the Portlet toolkit to a directory on your server, for instance c:\cfportlet\. &lt;/p&gt;&lt;p&gt;3. Follow the detailed installation instructions at &lt;i&gt;Portlet Toolkit Directory&lt;/i&gt;\docs\admin-guide\index.html &lt;/p&gt; &lt;div class="editsection" style="float: right; margin-left: 5px;"&gt;[&lt;a href="http://labs.adobe.com/wiki/index.php?title=ColdFusion_Portlet_Toolkit&amp;amp;action=edit&amp;amp;section=3" title="ColdFusion Portlet Toolkit"&gt;edit&lt;/a&gt;]&lt;/div&gt;&lt;a name="Documentation"&gt;&lt;/a&gt;&lt;h2&gt;Documentation&lt;/h2&gt; &lt;p&gt;The ColdFusion Portlet Developers Guide will be installed at &lt;i&gt;Portlet Toolkit Directory&lt;/i&gt;\docs\cf-dev-guide\index.html.  Items covered in this guide are: &lt;/p&gt; &lt;ul&gt;&lt;li&gt; Portlet Overview  &lt;/li&gt;&lt;li&gt; Your First Portlet  &lt;/li&gt;&lt;li&gt; Building a Simple Portlet  &lt;/li&gt;&lt;li&gt; ColdFusion Portlet Reference  &lt;/li&gt;&lt;li&gt; Converting Existing Code to Portlets  &lt;/li&gt;&lt;li&gt; Known Issues  &lt;/li&gt;&lt;li&gt; WebSphere API vs JSR-168 &lt;/li&gt;&lt;/ul&gt; &lt;div class="editsection" style="float: right; margin-left: 5px;"&gt;[&lt;a href="http://labs.adobe.com/wiki/index.php?title=ColdFusion_Portlet_Toolkit&amp;amp;action=edit&amp;amp;section=4" title="ColdFusion Portlet Toolkit"&gt;edit&lt;/a&gt;]&lt;/div&gt;&lt;a name="Known_Issues"&gt;&lt;/a&gt;&lt;h2&gt;Known Issues&lt;/h2&gt;  &lt;p&gt;There are a few known limitations in the current version with the following features:  &lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;b&gt;DateFormat&lt;/b&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The DateFormat function does not work from within a Portlet. Workaround: Use the LSDateFormat function instead. &lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;b&gt;TimeFormat&lt;/b&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The TimeFormat function does not work from within a Portlet. Workaround: Use the LSTimeFormat function instead. &lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;b&gt;SetLocale&lt;/b&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The SetLocale function does not work from inside a Portlet. No workaround is available. &lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;b&gt;CFFORM&lt;/b&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The CFFORM tag with format="flash" does not work inside the Portlet context. No workaround is available. &lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;b&gt;CFCHART&lt;/b&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The CFCHART tag with labelformat="currency" may display the generic currency symbol ¤ by default instead of a $. Workaround: The default locale setting on WebSphere is en (English) with no country setting. To deal with this simply set the default locale to en-US. For Example: &lt;/p&gt;&lt;p&gt;&lt;cfset locale =" CreateObject("&gt; &lt;/p&gt;&lt;p&gt;&lt;cfset locale =" locale.init("&gt; &lt;/p&gt;&lt;p&gt;&lt;cfset&gt; &lt;/p&gt;&lt;p&gt;You can also set the default locale using a JVM startup argument. &lt;/p&gt; &lt;!-- Saved in parser cache with key labswiki:pcache:idhash:1490-1!1!0!1!0!1!0!!en and timestamp 20080704020100 --&gt; &lt;div class="printfooter"&gt; Retrieved from "&lt;a href="http://labs.adobe.com/wiki/index.php/ColdFusion_Portlet_Toolkit"&gt;http://labs.adobe.com/wiki/index.php/ColdFusion_Portlet_Toolkit&lt;/a&gt;"&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5967925963269483996-8814866630809284513?l=devtoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://devtoday.blogspot.com/feeds/8814866630809284513/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5967925963269483996&amp;postID=8814866630809284513" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/8814866630809284513?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/8814866630809284513?v=2" /><link rel="alternate" type="text/html" href="http://devtoday.blogspot.com/2008/07/coldfusion-portlet-toolkit.html" title="ColdFusion Portlet Toolkit" /><author><name>Devil Boy</name><uri>http://www.blogger.com/profile/11391501637779739676</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;CEENQ388fyp7ImA9WxdWEUQ.&quot;"><id>tag:blogger.com,1999:blog-5967925963269483996.post-4881252910496761160</id><published>2008-07-04T10:30:00.000-07:00</published><updated>2008-07-04T10:31:32.177-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-04T10:31:32.177-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="flex" /><category scheme="http://www.blogger.com/atom/ns#" term="Adobe" /><category scheme="http://www.blogger.com/atom/ns#" term="grid" /><category scheme="http://www.blogger.com/atom/ns#" term="code free" /><category scheme="http://www.blogger.com/atom/ns#" term="free source" /><title>Edit MS Flex Grid in Two Ways</title><content type="html">&lt;div id="ctl00_UneditedRow" class="SmallText" style="border-top: 1px dashed rgb(255, 153, 0); border-bottom: 1px dashed rgb(255, 153, 0); margin: 5px; padding: 5px;"&gt;     &lt;b&gt;Note:&lt;/b&gt; This is an unedited contribution. If this article is inappropriate,     needs attention or copies someone else's work without reference then please     &lt;a id="ctl00_ReportProblem" href="http://www.codeproject.com/script/Articles/Report.aspx?aid=24875"&gt;Report This Article&lt;/a&gt;    &lt;/div&gt;                        &lt;span id="intelliTXT"&gt;    &lt;div id="contentdiv"&gt;        &lt;!-- Main Page Contents Start --&gt;      &lt;!-- Article Starts --&gt;   &lt;ul class="Download"&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/KB/grid/EditMSFlexGrid/FlexGridEdit.zip"&gt;Download FlexGridEdit - 752.1 KB&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;img src="http://www.codeproject.com/KB/grid/EditMSFlexGrid/flexGrid.JPG" width="730" height="499" /&gt;  &lt;h2&gt;Introduction&lt;/h2&gt;  &lt;p&gt;Hi all!&lt;/p&gt;  &lt;p&gt;This is my second article on Code Project. This is about how to edit MS Flex Grid. I was using TextBox and ComboBox to edit flex grid at run time, for that I had to add reference of &lt;code&gt;Microsoft.VisualBasic.Compatibility&lt;/code&gt; and some complex coding to move TextBox or ComboBox on grid. But this is good idea if some one wants to edit grid with some predefined itemsusing ComboBox.&lt;/p&gt;  &lt;p&gt;But if you want to text than there is a simple way to do this; that is the use of Text property of MS Flex Grid Control.&lt;/p&gt;  &lt;h2&gt;Using the code&lt;/h2&gt;  &lt;p&gt;To edit MS Flex Grid without using TextBox we have to use &lt;code&gt;.Text&lt;/code&gt; property and &lt;code&gt;KeyPressEvent&lt;/code&gt; of MS Flex Grid Control.&lt;/p&gt;  &lt;pre lang="vb.net"&gt; &lt;br /&gt;&lt;span class="code-keyword"&gt;Private&lt;/span&gt; &lt;span class="code-keyword"&gt;Sub&lt;/span&gt; AxMSFlexGrid1_KeyPressEvent(&lt;span class="code-keyword"&gt;ByVal&lt;/span&gt; sender &lt;span class="code-keyword"&gt;As&lt;/span&gt; Object, &lt;span class="code-keyword"&gt;ByVal&lt;/span&gt; e &lt;span class="code-keyword"&gt;As&lt;/span&gt; AxMSFlexGridLib.DMSFlexGridEvents_KeyPressEvent) &lt;span class="code-keyword"&gt;Handles&lt;/span&gt; AxMSFlexGrid1.KeyPressEvent&lt;br /&gt;&lt;br /&gt;   &lt;span class="code-keyword"&gt;Select&lt;/span&gt; &lt;span class="code-keyword"&gt;Case&lt;/span&gt; e.keyAscii&lt;br /&gt;&lt;br /&gt;   &lt;span class="code-keyword"&gt;Case&lt;/span&gt; &lt;span class="code-digit"&gt;30&lt;/span&gt; &lt;span class="code-keyword"&gt;To&lt;/span&gt; &lt;span class="code-digit"&gt;136&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;       AxMSFlexGrid1.Text += Chr(e.keyAscii)&lt;br /&gt;&lt;br /&gt;   &lt;span class="code-keyword"&gt;Case&lt;/span&gt; &lt;span class="code-digit"&gt;8&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;       &lt;span class="code-keyword"&gt;If&lt;/span&gt; AxMSFlexGrid1.Text &lt;&gt; &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;"&lt;/span&gt; &lt;span class="code-keyword"&gt;Then&lt;/span&gt; AxMSFlexGrid1.Text = Mid(AxMSFlexGrid1.Text, 1, Len(AxMSFlexGrid1.Text) - &lt;span class="code-digit"&gt;1&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;   &lt;span class="code-keyword"&gt;Case&lt;/span&gt; &lt;span class="code-digit"&gt;13&lt;/span&gt; &lt;span class="code-keyword"&gt;And&lt;/span&gt; AxMSFlexGrid1.Col &lt;&gt; &lt;span class="code-digit"&gt;2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;       AxMSFlexGrid1.Col = &lt;span class="code-digit"&gt;2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   &lt;span class="code-keyword"&gt;Case&lt;/span&gt; &lt;span class="code-digit"&gt;13&lt;/span&gt; &lt;span class="code-keyword"&gt;And&lt;/span&gt; AxMSFlexGrid1.Col = &lt;span class="code-digit"&gt;2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;       AxMSFlexGrid1.Rows = AxMSFlexGrid1.Rows + &lt;span class="code-digit"&gt;1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;       AxMSFlexGrid1.Col = &lt;span class="code-digit"&gt;1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;       AxMSFlexGrid1.Row = AxMSFlexGrid1.Row + &lt;span class="code-digit"&gt;1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   &lt;span class="code-keyword"&gt;End&lt;/span&gt; &lt;span class="code-keyword"&gt;Select&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="code-keyword"&gt;End&lt;/span&gt; &lt;span class="code-keyword"&gt;Sub&lt;/span&gt;               &lt;br /&gt;&lt;/pre&gt;  &lt;p&gt;In second  techinque I have used a function name &lt;code&gt;moveTextBox&lt;/code&gt; to move TextBox at appropriate posiotion and to sent enter text in Grid I have used &lt;code&gt;.Text&lt;/code&gt;property of Grid control.&lt;/p&gt;  &lt;pre lang="vb.net"&gt; &lt;br /&gt; &lt;span class="code-keyword"&gt;Private&lt;/span&gt; &lt;span class="code-keyword"&gt;Sub&lt;/span&gt; moveTextBox()&lt;br /&gt;       TxtEntry.Visible = &lt;span class="code-keyword"&gt;True&lt;/span&gt;&lt;br /&gt;       TxtEntry.Left = VB6.TwipsToPixelsX(AxMSFlexGrid2.CellLeft + VB6.TwipsToPixelsX(AxMSFlexGrid2.Left)) + &lt;span class="code-digit"&gt;17&lt;/span&gt;&lt;br /&gt;       TxtEntry.Top = VB6.TwipsToPixelsY(AxMSFlexGrid2.CellTop + VB6.TwipsToPixelsY(AxMSFlexGrid2.Top)) + AxMSFlexGrid2.Top&lt;br /&gt;       TxtEntry.Width = VB6.TwipsToPixelsX(AxMSFlexGrid2.CellWidth)&lt;br /&gt;       TxtEntry.Height = VB6.TwipsToPixelsY(AxMSFlexGrid2.CellHeight)&lt;br /&gt;       TxtEntry.BringToFront()&lt;br /&gt;       TxtEntry.Focus()&lt;br /&gt; &lt;span class="code-keyword"&gt;End&lt;/span&gt; &lt;span class="code-keyword"&gt;Sub&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;  &lt;p&gt;On TextBox's &lt;code&gt;KeyDown &lt;/code&gt;event I have assigned TextBox's &lt;code&gt;.Text&lt;/code&gt; property to Flex Grid's  &lt;code&gt;.Text &lt;/code&gt; property &lt;/p&gt;  &lt;pre lang="vb.net"&gt; &lt;br /&gt;&lt;span class="code-keyword"&gt;Private&lt;/span&gt; &lt;span class="code-keyword"&gt;Sub&lt;/span&gt; TxtEntry_KeyDownEvent(&lt;span class="code-keyword"&gt;ByVal&lt;/span&gt; sender &lt;span class="code-keyword"&gt;As&lt;/span&gt; Object, &lt;span class="code-keyword"&gt;ByVal&lt;/span&gt; e &lt;span class="code-keyword"&gt;As&lt;/span&gt; System.Windows.Forms.KeyEventArgs) &lt;span class="code-keyword"&gt;Handles&lt;/span&gt; TxtEntry.KeyDown&lt;br /&gt;       &lt;span class="code-keyword"&gt;If&lt;/span&gt; AxMSFlexGrid2.Col = &lt;span class="code-digit"&gt;1&lt;/span&gt; &lt;span class="code-keyword"&gt;Then&lt;/span&gt;&lt;br /&gt;           &lt;span class="code-keyword"&gt;If&lt;/span&gt; e.KeyCode = Keys.Enter &lt;span class="code-keyword"&gt;Then&lt;/span&gt;&lt;br /&gt;               AxMSFlexGrid2.Text = TxtEntry.Text&lt;br /&gt;               TxtEntry.Clear()&lt;br /&gt;               AxMSFlexGrid2.Col = &lt;span class="code-digit"&gt;2&lt;/span&gt;&lt;br /&gt;           &lt;span class="code-keyword"&gt;End&lt;/span&gt; &lt;span class="code-keyword"&gt;If&lt;/span&gt;&lt;br /&gt;       &lt;span class="code-keyword"&gt;End&lt;/span&gt; &lt;span class="code-keyword"&gt;If&lt;/span&gt;&lt;br /&gt;&lt;span class="code-keyword"&gt;End&lt;/span&gt; &lt;span class="code-keyword"&gt;Sub&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;  &lt;p&gt;On &lt;code&gt;EnterCell&lt;/code&gt; event of Grid Control I have called this function. &lt;/p&gt;  &lt;pre lang="vb.net"&gt;&lt;br /&gt;&lt;span class="code-keyword"&gt;Private&lt;/span&gt; &lt;span class="code-keyword"&gt;Sub&lt;/span&gt; AxMSFlexGrid2_EnterCell(&lt;span class="code-keyword"&gt;ByVal&lt;/span&gt; sender &lt;span class="code-keyword"&gt;As&lt;/span&gt; Object, &lt;span class="code-keyword"&gt;ByVal&lt;/span&gt; e &lt;span class="code-keyword"&gt;As&lt;/span&gt; System.EventArgs) &lt;span class="code-keyword"&gt;Handles&lt;/span&gt; AxMSFlexGrid2.EnterCell&lt;br /&gt;       &lt;span class="code-keyword"&gt;If&lt;/span&gt; AxMSFlexGrid2.Col = &lt;span class="code-digit"&gt;2&lt;/span&gt; &lt;span class="code-keyword"&gt;Then&lt;/span&gt;&lt;br /&gt;           &lt;span class="code-keyword"&gt;Call&lt;/span&gt; moveCombo()&lt;br /&gt;           &lt;span class="code-keyword"&gt;If&lt;/span&gt; AxMSFlexGrid2.get_TextMatrix(AxMSFlexGrid2.Row, &lt;span class="code-digit"&gt;2&lt;/span&gt;) &lt;&gt; &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;"&lt;/span&gt; &lt;span class="code-keyword"&gt;Then&lt;/span&gt;&lt;br /&gt;               CmbEntry.Text = AxMSFlexGrid2.get_TextMatrix(AxMSFlexGrid2.Row, &lt;span class="code-digit"&gt;2&lt;/span&gt;).ToString&lt;br /&gt;           &lt;span class="code-keyword"&gt;Else&lt;/span&gt;&lt;br /&gt;               CmbEntry.Text = &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;"&lt;/span&gt;&lt;br /&gt;           &lt;span class="code-keyword"&gt;End&lt;/span&gt; &lt;span class="code-keyword"&gt;If&lt;/span&gt;&lt;br /&gt;       &lt;span class="code-keyword"&gt;Else&lt;/span&gt;&lt;br /&gt;           CmbEntry.Visible = &lt;span class="code-keyword"&gt;False&lt;/span&gt;&lt;br /&gt;       &lt;span class="code-keyword"&gt;End&lt;/span&gt; &lt;span class="code-keyword"&gt;If&lt;/span&gt;&lt;br /&gt;       &lt;span class="code-keyword"&gt;If&lt;/span&gt; AxMSFlexGrid2.Col = &lt;span class="code-digit"&gt;1&lt;/span&gt; &lt;span class="code-keyword"&gt;Then&lt;/span&gt;&lt;br /&gt;           &lt;span class="code-keyword"&gt;Call&lt;/span&gt; moveTextBox()&lt;br /&gt;           &lt;span class="code-keyword"&gt;If&lt;/span&gt; AxMSFlexGrid2.get_TextMatrix(AxMSFlexGrid2.Row, &lt;span class="code-digit"&gt;1&lt;/span&gt;) &lt;&gt; &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;"&lt;/span&gt; &lt;span class="code-keyword"&gt;Then&lt;/span&gt;&lt;br /&gt;               TxtEntry.Text = AxMSFlexGrid2.get_TextMatrix(AxMSFlexGrid2.Row, &lt;span class="code-digit"&gt;1&lt;/span&gt;).ToString&lt;br /&gt;           &lt;span class="code-keyword"&gt;Else&lt;/span&gt;&lt;br /&gt;               TxtEntry.Clear()&lt;br /&gt;           &lt;span class="code-keyword"&gt;End&lt;/span&gt; &lt;span class="code-keyword"&gt;If&lt;/span&gt;&lt;br /&gt;       &lt;span class="code-keyword"&gt;Else&lt;/span&gt;&lt;br /&gt;           TxtEntry.Visible = &lt;span class="code-keyword"&gt;False&lt;/span&gt;&lt;br /&gt;       &lt;span class="code-keyword"&gt;End&lt;/span&gt; &lt;span class="code-keyword"&gt;If&lt;/span&gt;&lt;br /&gt; &lt;span class="code-keyword"&gt;End&lt;/span&gt; &lt;span class="code-keyword"&gt;Sub&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;  &lt;p&gt;Thanx And Happy Coding..&lt;/p&gt;    &lt;!-- Article Ends --&gt;      &lt;!-- Main Page Contents End --&gt;        &lt;/div&gt;    &lt;/span&gt;           &lt;div&gt;   &lt;input name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTEwMDUyNjYzMjhkZMVxTWrGPt/89susv6NuTL6vDaNG" type="hidden"&gt;   &lt;/div&gt;            &lt;h2&gt;License&lt;/h2&gt;    &lt;div id="ctl00_LicenseTerms"&gt;&lt;p&gt;This article, along with any associated source code and files, is licensed under &lt;a href="http://www.codeproject.com/info/cpol10.aspx"&gt;The Code Project Open License (CPOL)&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;        &lt;h2&gt;About the Author&lt;/h2&gt;                          &lt;table width="100%" border="0" cellpadding="0" cellspacing="5"&gt;&lt;tbody&gt;&lt;tr valign="top"&gt;&lt;td id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberPhotoTable" style="width: 155px;" valign="top"&gt;  &lt;b&gt;&lt;a id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberProfileLink" href="http://www.codeproject.com/script/Membership/Profiles.aspx?mid=3893442"&gt;suresh suthar&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt; &lt;center&gt;&lt;/center&gt;&lt;br /&gt; &lt;span id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberType" class="SmallText"&gt;&lt;/span&gt;    &lt;/td&gt;    &lt;td&gt;  Hi All.&lt;br /&gt;I am Suresh Suthar from Mumbai India.&lt;br /&gt;I am a Software Developer working in a private firm as a .NET developer.&lt;br /&gt;I born and brought up in a small village Sewari in Rajasthan.&lt;br /&gt;I started my carrier as a data entry operator in 2006. After that I started learning VB 6.0 and VB.NET 2005.&lt;br /&gt;Now I am developing software using VB.Net 2005&lt;br /&gt;and SQL Server 2000/2005.&lt;br /&gt;&lt;br /&gt;Here you will some cool source code and a lots of stuff on&lt;br /&gt;SQL Injection, Code Injection, Encription/Decription, Live project, Tutorials on VBScript,JavaScript,Cold Fusion, C#&lt;br /&gt;and many more...&lt;br /&gt;&lt;br /&gt;http://www.programmer2programmer.net/&lt;br /&gt;    &lt;table&gt;  &lt;tbody&gt;&lt;tr id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_jobTitleRow"&gt;    &lt;td class="SmallText" nowrap="nowrap"&gt;Occupation: &lt;/td&gt;    &lt;td width="100%"&gt;&lt;span id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberJobTitle" class="SmallText"&gt;Web Developer&lt;/span&gt;&lt;/td&gt;   &lt;/tr&gt;         &lt;tr id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_locationRow"&gt;    &lt;td class="SmallText"&gt;Location: &lt;/td&gt;    &lt;td width="100%"&gt;&lt;span id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberLocation" class="SmallText"&gt;&lt;img src="http://www.codeproject.com/script/Geo/Images/IN.gif" alt="India" width="16" height="11" /&gt; India&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;http://www.codeproject.com/KB/grid/EditMSFlexGrid.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5967925963269483996-4881252910496761160?l=devtoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://devtoday.blogspot.com/feeds/4881252910496761160/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5967925963269483996&amp;postID=4881252910496761160" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/4881252910496761160?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/4881252910496761160?v=2" /><link rel="alternate" type="text/html" href="http://devtoday.blogspot.com/2008/07/edit-ms-flex-grid-in-two-ways.html" title="Edit MS Flex Grid in Two Ways" /><author><name>Devil Boy</name><uri>http://www.blogger.com/profile/11391501637779739676</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEIBQHwzfCp7ImA9WxdWEUQ.&quot;"><id>tag:blogger.com,1999:blog-5967925963269483996.post-4278914097779736479</id><published>2008-07-04T10:28:00.000-07:00</published><updated>2008-07-04T10:29:11.284-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-04T10:29:11.284-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="adobe air badge" /><category scheme="http://www.blogger.com/atom/ns#" term="Adobe" /><category scheme="http://www.blogger.com/atom/ns#" term="Adobe Air" /><title>AIR Badge</title><content type="html">&lt;h3 id="siteSub"&gt;     From Adobe Labs  &lt;/h3&gt;   &lt;div id="contentSub"&gt;        &lt;/div&gt;       &lt;!-- start content --&gt;   &lt;a name="Additional_Seamless_Install_Badge_with_new_look_and_feel"&gt;&lt;/a&gt;&lt;h2&gt; Additional Seamless Install Badge with new look and feel &lt;/h2&gt; &lt;p&gt;Last update: 2/25/2008  &lt;/p&gt;&lt;p&gt;&lt;b&gt;Overview&lt;/b&gt; &lt;/p&gt;&lt;p&gt;We have been working hard to create an additional seamless install badge sample for launch. Actually, Grant Skinner (&lt;a href="http://www.gskinner.com/" class="external" title="http://www.gskinner.com" rel="nofollow" target="_blank"&gt;gskinner.com&lt;/a&gt;) developed this sample badge for us so that it would be available in time for launch. The badge is "BETA QUALITY", so you may discover bugs. Please report any bugs. You can report bugs at &lt;a href="http://www.adobe.com/go/wish/" class="external" title="http://www.adobe.com/go/wish/" rel="nofollow" target="_blank"&gt;Adobe AIR wishlist&lt;/a&gt; or on the &lt;a href="http://www.adobe.com/cfusion/webforums/forum/categories.cfm?forumid=72&amp;amp;catid=641&amp;amp;entercat=y" class="external" title="http://www.adobe.com/cfusion/webforums/forum/categories.cfm?forumid=72&amp;amp;catid=641&amp;amp;entercat=y" rel="nofollow" target="_blank"&gt;Adobe AIR forums&lt;/a&gt;. We may post updates to this badge sample on this wiki periodically based on feedback. &lt;/p&gt;&lt;p&gt;This sample badge has a new look and feel with additional detection logic and leverages AIR's "launch now" capability. &lt;/p&gt;&lt;p&gt;You should consider using this sample badge if: &lt;/p&gt; &lt;ol&gt;&lt;li&gt; Want a new look and feel (it looks cool!) &lt;/li&gt;&lt;li&gt; Intend to continue distributing a beta 3 application until you port to AIR 1.0. (Logic handles these situations much more gracefully) &lt;/li&gt;&lt;li&gt; Want to leverage the application detection and "launch now" feature &lt;/li&gt;&lt;li&gt; Want a simple way to upgrade end users to correct Flash Player version using express install &lt;/li&gt;&lt;li&gt; Want to provide "help" links &lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;Download&lt;/b&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://download.macromedia.com/pub/labs/air/badge/air_badge_022508.zip" class="external" title="http://download.macromedia.com/pub/labs/air/badge/air badge 022508.zip" rel="nofollow" target="_blank"&gt;Download Install Badge (113 KB)&lt;/a&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;Features and Capabilities&lt;/b&gt; &lt;/p&gt; &lt;ol&gt;&lt;li&gt; Leverages SWFObject to upgrade end-user to supported Flash Player version (Version: 9,0,115,0). Badge installer uses SWFObject embed method by Geoff Stearns. Developers can disable this feature. &lt;ul&gt;&lt;li&gt; Flash Player detection: &lt;ul&gt;&lt;li&gt; If Flash Player is not installed, text and Flash Player download center links are displayed to end-user. End user must install the Flash Player manually &lt;/li&gt;&lt;li&gt; If unsupported Flash Player version is installed (Flash Player 7, Flash Player 8, or pre Flash Player 9,0,115,0) , end-user prompted to upgrade the Flash Player inline via the Express Install feature. Upon successful upgrade the install badge is displayed. &lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;li&gt; Additional detection logic to handle Beta 3 application deployments when end-user has Adobe AIR 1.0 installed. Please see list below for expected behaviors &lt;ul&gt;&lt;li&gt;'Handling for Beta 3 based applications' &lt;ul&gt;&lt;li&gt; If application requires Adobe AIR Beta 3 and no Adobe AIR runtime is installed, badge will install Adobe AIR Beta 3 runtime plus application. &lt;/li&gt;&lt;li&gt;If application requires Adobe AIR Beta 3 and Adobe AIR Beta 3 is the only installed runtime, badge will install the application only. &lt;/li&gt;&lt;li&gt;If application requires Adobe AIR Beta 3 and Adobe AIR 1.0 is installed, badge will display download links requesting end-users to download the Adobe AIR Beta 3 runtime and application manually. The Adobe AIR 1.0 runtime does not support downloading or installing Beta versions. &lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;li&gt;'Handling of AIR 1.0 based applications &lt;ul&gt;&lt;li&gt;'If application requires Adobe AIR 1.0 and no Adobe AIR runtime is installed, badge will install Adobe AIR 1.0 runtime plus application. &lt;/li&gt;&lt;li&gt;If application requires Adobe AIR 1.0 and Adobe AIR 1.0 runtime is installed, badge will install the application only. &lt;/li&gt;&lt;li&gt;If application requires Adobe AIR 1.0 and Adobe AIR Beta 3 is installed, badge will install the Adobe AIR 1.0 runtime plus application &lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;li&gt; Includes capabilities to detect and launch ("launch now") installed applications. Note: Application must have opted-in to be detected and launched. Pleas see Adobe AIR documentation for details on how to make your application detectable. &lt;/li&gt;&lt;li&gt; Provides customizable "help" text and links. This allows end users who encounter problems installing the application to get more information &lt;/li&gt;&lt;li&gt; Customizable text display &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Please see the "Getting Started Guide" for features, parameters, documentation. All necessary files including the source code can be found in the .zip file. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Additional Resources&lt;/b&gt; &lt;/p&gt;&lt;p&gt;&lt;br /&gt;Adobe AIR documentation: &lt;a href="http://www.adobe.com/support/documentation/en/air/" class="external" rel="nofollow" target="_blank"&gt;http://www.adobe.com/support/documentation/en/air/&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Adobe AIR dev guide for Flash: &lt;a href="http://livedocs.adobe.com/air/1/devappsflash/" class="external" rel="nofollow" target="_blank"&gt;http://livedocs.adobe.com/air/1/devappsflash/&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Adobe AIR dev guides for HTML and Ajax: &lt;a href="http://livedocs.adobe.com/air/1/devappshtml/" class="external" rel="nofollow" target="_blank"&gt;http://livedocs.adobe.com/air/1/devappshtml/&lt;/a&gt; &lt;/p&gt;&lt;p&gt;SWFObject documentation: &lt;a href="http://blog.deconcept.com/swfobject/" class="external" rel="nofollow" target="_blank"&gt;http://blog.deconcept.com/swfobject/&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Adobe Developer Center &lt;a href="http://www.adobe.com/devnet/air/" class="external" rel="nofollow" target="_blank"&gt;http://www.adobe.com/devnet/air/&lt;/a&gt; &lt;/p&gt; &lt;!-- Saved in parser cache with key labswiki:pcache:idhash:2280-1!1!0!1!0!1!0!!en and timestamp 20080704015657 --&gt; &lt;div class="printfooter"&gt; Retrieved from "&lt;a href="http://labs.adobe.com/wiki/index.php/AIR_Badge"&gt;http://labs.adobe.com/wiki/index.php/AIR_Badge&lt;/a&gt;"&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5967925963269483996-4278914097779736479?l=devtoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://devtoday.blogspot.com/feeds/4278914097779736479/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5967925963269483996&amp;postID=4278914097779736479" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/4278914097779736479?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/4278914097779736479?v=2" /><link rel="alternate" type="text/html" href="http://devtoday.blogspot.com/2008/07/air-badge.html" title="AIR Badge" /><author><name>Devil Boy</name><uri>http://www.blogger.com/profile/11391501637779739676</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEMDRnwzfyp7ImA9WxdWEUQ.&quot;"><id>tag:blogger.com,1999:blog-5967925963269483996.post-7579994758359292590</id><published>2008-07-04T10:27:00.001-07:00</published><updated>2008-07-04T10:27:57.287-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-04T10:27:57.287-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="flex" /><category scheme="http://www.blogger.com/atom/ns#" term="tutorial" /><category scheme="http://www.blogger.com/atom/ns#" term="source code" /><title>Simple Flex Tutorial</title><content type="html">&lt;p&gt;I've been learning Flex for a presentation at my local CFUG, and I'm actually quite impressed with how much you can do with so little code.&lt;/p&gt; &lt;p&gt;However, most of the Flex tutorials I have found are very long and over simplified, so I've created a simple blog reader in 23 lines of MXML code to use as a tutorial. Here's what our Flex Application will look like:&lt;/p&gt; &lt;div align="center"&gt;  &lt;img src="http://www.petefreitag.com/images/blog/flex-blog-reader.gif" alt="flex blog reader screen shot" border="0" /&gt; &lt;/div&gt;  &lt;h3&gt;How does the example work?&lt;/h3&gt; &lt;p&gt;When you click the &lt;em&gt;Load Blog Entries&lt;/em&gt; button my RSS feed entries are loaded into the datagrid. When you click on a row in the datagrid the corresponding entry is loaded into the text area. &lt;/p&gt;  &lt;h3&gt;Step 1 - XML and Application declaration&lt;/h3&gt; &lt;p&gt;Start your XML file with a XML declaration, and an &lt;code&gt;mx:Application&lt;/code&gt; tag:&lt;/p&gt; &lt;pre&gt;&lt;?xml version="1.0" ?&gt;&lt;br /&gt;&lt;br /&gt;&lt;mx:application mx="http://www.macromedia.com/2003/mxml"&gt;&lt;br /&gt;&lt;/pre&gt;  &lt;h3&gt;Step 2 - Define your HTTPService&lt;/h3&gt; &lt;p&gt;Our first step is to define the &lt;a href="http://livedocs.macromedia.com/flex/15/asdocs_en/mx/servicetags/HTTPService.html"&gt;HTTPService&lt;/a&gt; that we will use to connect to my RSS feed. We will give an &lt;code&gt;id&lt;/code&gt; of &lt;code&gt;httpRSS&lt;/code&gt; so we can refer back to it.&lt;/p&gt; &lt;pre&gt;&lt;mx:httpservice id="httpRSS" url="http://www.petefreitag.com/rss/" resultformat="object"&gt;&lt;br /&gt;&lt;/pre&gt;  &lt;h3&gt;Step 3 - Enclose your controls within a panel&lt;/h3&gt; &lt;p&gt;A &lt;a href="http://livedocs.macromedia.com/flex/15/asdocs_en/mx/containers/Panel.html"&gt;panel&lt;/a&gt; is simply a container to put &lt;a href="http://livedocs.macromedia.com/flex/15/asdocs_en/mx/controls/index.html"&gt;controls&lt;/a&gt; (the DataGrid, TextArea, and Button) into. We are going to set some attributes on the panel as well, it should be pretty easy to figure out what they mean:&lt;/p&gt; &lt;pre&gt;&lt;mx:panel id="reader" title="Pete Freitag's Blog Reader" width="500"&gt;&lt;br /&gt;&lt;/pre&gt;  &lt;h3&gt;Step 4 - Define your DataGrid&lt;/h3&gt; &lt;p&gt;We are using the &lt;a href="http://livedocs.macromedia.com/flex/15/asdocs_en/mx/controls/DataGrid.html"&gt;DataGrid&lt;/a&gt; component to display the list of blog entries in my RSS feed, along with their date.&lt;/p&gt; &lt;p&gt;This step is probably the most complicated step because we have to bind our RSS xml data to the datagrid, and define an event handler when the rows are clicked.&lt;/p&gt; &lt;p&gt;In the attributes of the DataGrid we are using dynamic variables or expressions denoted by the curly braces &lt;code&gt;{variable}&lt;/code&gt;.&lt;/p&gt; &lt;pre&gt;&lt;mx:datagrid id="entries" width="{reader.width-15}" dataprovider="{httpRSS.result.rss.channel.item}" cellpress="{body.htmlText=httpRSS.result.rss.channel.item[entries.selectedIndex].description}"&gt;&lt;br /&gt; &lt;mx:columns&gt;&lt;br /&gt;   &lt;mx:array&gt;&lt;br /&gt;     &lt;mx:datagridcolumn columnname="title" headertext="Title"&gt;&lt;br /&gt;     &lt;mx:datagridcolumn columnname="pubDate" headertext="Date"&gt;&lt;br /&gt;   &lt;/mx:Array&gt;&lt;br /&gt; &lt;/mx:columns&gt; &lt;br /&gt;&lt;/mx:DataGrid&gt;&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Ok so there is a lot going on there, first so I'll break it down a bit:&lt;/p&gt; &lt;h4&gt;width&lt;/h4&gt; &lt;p&gt;We are setting the width dynamically based on the size of its parent panel &lt;code&gt;reader&lt;/code&gt;, specifically we set it to be 15 pixels narrower than its panel.&lt;/p&gt; &lt;h4&gt;dataProvider&lt;/h4&gt; &lt;p&gt;In the &lt;code&gt;dataProvider&lt;/code&gt; attribute we are binding the data for this grid to the &lt;code&gt;result&lt;/code&gt; of our &lt;strong&gt;HTTPService&lt;/strong&gt; named &lt;code&gt;httpRSS&lt;/code&gt;. More specifically we want to bind each &lt;code&gt;item&lt;/code&gt; tag in our XML file to a row in the datagrid. Since the &lt;code&gt;item&lt;/code&gt; tags are inside the &lt;code&gt;rss&lt;/code&gt; and &lt;code&gt;channel&lt;/code&gt; tags we refer to it the array of items as &lt;code&gt;httpRSS.result.rss.channel.item&lt;/code&gt;.&lt;/p&gt; &lt;h4&gt;cellPress&lt;/h4&gt; &lt;p&gt;Next we want to create an event handler that will display the contents of the &lt;code&gt;description&lt;/code&gt; tag inside the &lt;code&gt;item&lt;/code&gt; that is clicked on. Using the variable &lt;code&gt;entries.selectedIndex&lt;/code&gt; we know which item was clicked on, and we can refer to the &lt;code&gt;description&lt;/code&gt; (the entry body) of that item as: &lt;code&gt;httpRSS.result.rss.channel.item[entries.selectedIndex].description&lt;/code&gt;.&lt;/p&gt; &lt;p&gt;Now we just need to set the value of our TextArea which we will define in the next step to the rss item &lt;code&gt;description&lt;/code&gt;, so we simply assign that value to the &lt;code&gt;htmlText&lt;/code&gt; property of the TextArea (whose name will be &lt;code&gt;body&lt;/code&gt;).&lt;/p&gt; &lt;h4&gt;columns&lt;/h4&gt; &lt;p&gt;Now we need to define which columns we are to display in the datagrid. The &lt;code&gt;columnName&lt;/code&gt; must match the tag name that we want it to correspond to.&lt;/p&gt; &lt;h3&gt;Step 5 - Define the TextArea&lt;/h3&gt; &lt;p&gt;Use the &lt;a href="http://livedocs.macromedia.com/flex/15/asdocs_en/mx/controls/TextArea.html"&gt;mx:TextArea&lt;/a&gt; tag to define the text area where the entry body will go:&lt;/p&gt; &lt;pre&gt;&lt;mx:textarea id="body" editable="false" width="{reader.width-15}" height="300"&gt;&lt;br /&gt;&lt;/pre&gt; &lt;h3&gt;Step 6 - Create a Button&lt;/h3&gt; &lt;p&gt;Our last control to define is a &lt;a href="http://livedocs.macromedia.com/flex/15/asdocs_en/mx/controls/Button.html"&gt;Button&lt;/a&gt; which will simply tell the HTTPService to make the request.&lt;/p&gt; &lt;pre&gt;&lt;mx:button label="Load Blog Entries" click="{httpRSS.send()}"&gt;&lt;/pre&gt; &lt;p&gt;In the &lt;code&gt;click&lt;/code&gt; event handler we call the &lt;code&gt;send()&lt;/code&gt; method on our HTTPService object.&lt;/p&gt; &lt;h3&gt;Step 7 - Close Panel and Application&lt;/h3&gt; &lt;p&gt;Simply close some tags, and your done!&lt;/p&gt; &lt;pre&gt;&lt;/mx:Panel&gt;&lt;br /&gt;&lt;/mx:Application&gt;&lt;br /&gt;&lt;/pre&gt;  &lt;h3&gt;One Caveat&lt;/h3&gt; &lt;p&gt;Flex 1.5 uses a proxy to invoke HTTPService calls, and other remote service calls, and for security reasons the proxy will block the HTTP call. You add the RSS feed url (or simply &lt;code&gt;http://*&lt;/code&gt;) to the proxy whitelist in your &lt;code&gt;flex-config.xml&lt;/code&gt;. See this &lt;a href="http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=tn_19251"&gt;KB article&lt;/a&gt; for more info.&lt;/p&gt;  &lt;h3&gt;Complete MXML source code:&lt;/h3&gt; &lt;pre&gt;&lt;?xml version="1.0" ?&gt;&lt;br /&gt;&lt;br /&gt;&lt;mx:application mx="http://www.macromedia.com/2003/mxml"&gt;&lt;br /&gt;&lt;br /&gt;&lt;mx:httpservice id="httpRSS" url="http://www.petefreitag.com/rss/" resultformat="object"&gt;&lt;br /&gt;&lt;br /&gt;&lt;mx:panel id="reader" title="Pete Freitag's Blog Reader" width="500"&gt;&lt;br /&gt;&lt;br /&gt; &lt;mx:datagrid id="entries" width="{reader.width-15}" dataprovider="{httpRSS.result.rss.channel.item}" cellpress="{body.htmlText=httpRSS.result.rss.channel.item[entries.selectedIndex].description}"&gt;&lt;br /&gt;   &lt;mx:columns&gt;&lt;br /&gt;     &lt;mx:array&gt;&lt;br /&gt;       &lt;mx:datagridcolumn columnname="title" headertext="Title"&gt;&lt;br /&gt;       &lt;mx:datagridcolumn columnname="pubDate" headertext="Date"&gt;&lt;br /&gt;     &lt;/mx:Array&gt;&lt;br /&gt;   &lt;/mx:columns&gt; &lt;br /&gt; &lt;/mx:DataGrid&gt;&lt;br /&gt;&lt;br /&gt; &lt;mx:textarea id="body" editable="false" width="{reader.width-15}" height="300"&gt;&lt;br /&gt;&lt;br /&gt; &lt;mx:button label="Load Blog Entries" click="{httpRSS.send()}"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/mx:Panel&gt;&lt;br /&gt;&lt;/mx:Application&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5967925963269483996-7579994758359292590?l=devtoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://devtoday.blogspot.com/feeds/7579994758359292590/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5967925963269483996&amp;postID=7579994758359292590" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/7579994758359292590?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/7579994758359292590?v=2" /><link rel="alternate" type="text/html" href="http://devtoday.blogspot.com/2008/07/simple-flex-tutorial.html" title="Simple Flex Tutorial" /><author><name>Devil Boy</name><uri>http://www.blogger.com/profile/11391501637779739676</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;CEMGQH8zfSp7ImA9WxdWEUQ.&quot;"><id>tag:blogger.com,1999:blog-5967925963269483996.post-7604280395200549646</id><published>2008-07-04T10:26:00.000-07:00</published><updated>2008-07-04T10:27:01.185-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-04T10:27:01.185-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="open source" /><category scheme="http://www.blogger.com/atom/ns#" term="flex" /><category scheme="http://www.blogger.com/atom/ns#" term="Adobe" /><title>Flex:Open Source</title><content type="html">&lt;h1 class="firstHeading"&gt;From Adobe Labs  &lt;/h1&gt;      &lt;div id="contentSub"&gt;        &lt;/div&gt;       &lt;!-- start content --&gt;   &lt;table id="toc" border="0"&gt;&lt;tbody&gt;&lt;tr id="toctitle"&gt;&lt;td align="center"&gt; &lt;b&gt;Table of contents&lt;/b&gt; &lt;script type="text/javascript"&gt;showTocToggle("show","hide")&lt;/script&gt;&lt;span class="toctoggle"&gt;[&lt;a href="javascript:toggleToc()" class="internal"&gt;&lt;span id="showlink" style="display: none;"&gt;show&lt;/span&gt;&lt;span id="hidelink"&gt;hide&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr id="tocinside"&gt;&lt;td&gt; &lt;div class="tocline"&gt;&lt;a href="http://labs.adobe.com/wiki/index.php/Flex:Open_Source#Adobe_to_Open_Source_Flex"&gt;1 Adobe to Open Source Flex&lt;/a&gt;&lt;br /&gt;&lt;/div&gt; &lt;div class="tocindent"&gt; &lt;p&gt;&lt;a href="http://labs.adobe.com/wiki/index.php/Flex:Open_Source#Overview"&gt;1.1 Overview&lt;/a&gt;&lt;br /&gt;&lt;a href="http://labs.adobe.com/wiki/index.php/Flex:Open_Source#License"&gt;1.2 License&lt;/a&gt;&lt;br /&gt;&lt;a href="http://labs.adobe.com/wiki/index.php/Flex:Open_Source#Schedule"&gt;1.3 Schedule&lt;/a&gt;&lt;br /&gt;&lt;a href="http://labs.adobe.com/wiki/index.php/Flex:Open_Source#Currently_Supported_Platforms"&gt;1.4 Currently Supported Platforms&lt;/a&gt;&lt;br /&gt;&lt;a href="http://labs.adobe.com/wiki/index.php/Flex:Open_Source#More_Information_and_FAQ"&gt;1.5 More Information and FAQ&lt;/a&gt;&lt;br /&gt;&lt;a href="http://labs.adobe.com/wiki/index.php/Flex:Open_Source#How_can_I_ask_more_questions.3F"&gt;1.6 How can I ask more questions?&lt;/a&gt;&lt;br /&gt;&lt;/p&gt; &lt;/div&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;a name="Adobe_to_Open_Source_Flex"&gt;&lt;/a&gt;&lt;h2&gt; Adobe to Open Source Flex &lt;/h2&gt; &lt;p&gt;On April 26, Adobe announced strategic plans to move the development of Flex to an open source model.  &lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/200704/042607Flex.html" class="external" title="http://www.adobe.com/aboutadobe/pressroom/pressreleases/200704/042607Flex.html" rel="nofollow" target="_blank"&gt;Adobe to Open Source Flex (press release on Adobe.com)&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt; &lt;a name="Overview"&gt;&lt;/a&gt;&lt;h3&gt; Overview &lt;/h3&gt; &lt;p&gt;Adobe is announcing plans to open source Flex under the Mozilla Public License (MPL). This includes not only the source to the ActionScript components from the Flex SDK, which have been available in source code form with the SDK since Flex 2 was released, but also includes the Java source code for the ActionScript and MXML compilers, the ActionScript debugger and the core ActionScript libraries from the SDK. The Flex SDK includes all of the components needed to create Flex applications that run in any browser - on Mac OS X, Windows, and Linux and on now on the desktop using “Apollo”. &lt;/p&gt;&lt;p&gt;Developers can use the Flex SDK to freely develop and deploy Flex applications using either Adobe Flex Builder or an IDE of their choice. &lt;/p&gt; &lt;a name="License"&gt;&lt;/a&gt;&lt;h3&gt; License &lt;/h3&gt;  &lt;p&gt;The source code for the Flex SDK will be available under the Mozilla Public License (MPL). The MPL will allow full and free access to the source code, allowing developers to download, extend, and contribute to the source code for the Flex compiler and framework classes. The Flex SDK will also be available under a commercial Adobe license. Offering a choice of licenses serves the needs of enterprise Flex customers and partners. &lt;/p&gt;&lt;p&gt;Mozilla Public License FAQ: &lt;a href="http://www.mozilla.org/MPL/mpl-faq.html" class="external" rel="nofollow" target="_blank"&gt;http://www.mozilla.org/MPL/mpl-faq.html&lt;/a&gt; &lt;/p&gt;&lt;p&gt;The annotated Mozilla Public License (explained in layman’s terms) &lt;a href="http://www.mozilla.org/MPL/MPL-1.1-annotated.html" class="external" rel="nofollow" target="_blank"&gt;http://www.mozilla.org/MPL/MPL-1.1-annotated.html&lt;/a&gt; &lt;/p&gt; &lt;a name="Schedule"&gt;&lt;/a&gt;&lt;h3&gt; Schedule &lt;/h3&gt; &lt;p&gt;The source code for the Flex framework is already available within the free distribution of the current &lt;a href="http://www.adobe.com/go/flexsdk2_download" class="external" title="http://www.adobe.com/go/flexsdk2 download" rel="nofollow" target="_blank"&gt;Flex 2 SDK&lt;/a&gt;. By this summer, Adobe plans to put in place most of the infrastructure (public bug database and public daily builds) required to run the Flex SDK as an open source project. We expect to complete the transition to a fully open source project (source code for the compiler, infrastructure for community contributions, etc.) by early 2008. &lt;/p&gt; &lt;a name="Currently_Supported_Platforms"&gt;&lt;/a&gt;&lt;h3&gt; Currently Supported Platforms &lt;/h3&gt; &lt;ul&gt;&lt;li&gt; Windows  XP,  Server 2003, or Windows Vista Professional/Ultimate with Java 1.4 (Sun, IBM, or BEA) or 1.5 (Sun)  &lt;/li&gt;&lt;li&gt; Mac OS X 10.4.x, Java 1.5 (as shipped from Apple) on PowerPC and Intel processor  &lt;/li&gt;&lt;li&gt; Redhat Enterprise Linux 3 or 4, Suse 10, Java 1.4 (Sun, IBM, or BEA) or 1.5 (Sun)  &lt;/li&gt;&lt;li&gt; Solaris 9, 10, Java 1.4 or 1.5 (Sun) Compilers only &lt;/li&gt;&lt;/ul&gt; &lt;a name="More_Information_and_FAQ"&gt;&lt;/a&gt;&lt;h3&gt; More Information and FAQ &lt;/h3&gt; &lt;p&gt;This FAQ will provide all the details and hopefully answer all your questions. &lt;/p&gt; &lt;ul&gt;&lt;li&gt; &lt;a href="http://labs.adobe.com/wiki/index.php/Flex:Open_Source:FAQ" title="Flex:Open Source:FAQ"&gt;Flex Open Source FAQ&lt;/a&gt; &lt;/li&gt;&lt;li&gt; &lt;a href="http://www.podtech.net/home/podtech/2826/breaking-news-adobe-flash-fle" class="external" title="http://www.podtech.net/home/podtech/2826/breaking-news-adobe-flash-fle" rel="nofollow" target="_blank"&gt;David Wadhwani, VP of Flex Engineering and Ely Greenfield, Flex Architect discuss the Flex Open source announcement with Robert Scoble of PodTech.&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt; &lt;a name="How_can_I_ask_more_questions.3F"&gt;&lt;/a&gt;&lt;h3&gt; How can I ask more questions? &lt;/h3&gt; &lt;p&gt;You can participate in our &lt;a href="http://groups.google.com/group/flex-open-source" class="external" title="http://groups.google.com/group/flex-open-source" rel="nofollow" target="_blank"&gt;discussion group&lt;/a&gt;. &lt;/p&gt; &lt;!-- Saved in parser cache with key labswiki:pcache:idhash:1782-1!1!0!1!0!1!0!!en and timestamp 20080704124445 --&gt; &lt;div class="printfooter"&gt; Retrieved from "&lt;a href="http://labs.adobe.com/wiki/index.php/Flex:Open_Source"&gt;http://labs.adobe.com/wiki/index.php/Flex:Open_Source&lt;/a&gt;"&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5967925963269483996-7604280395200549646?l=devtoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://devtoday.blogspot.com/feeds/7604280395200549646/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5967925963269483996&amp;postID=7604280395200549646" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/7604280395200549646?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/7604280395200549646?v=2" /><link rel="alternate" type="text/html" href="http://devtoday.blogspot.com/2008/07/flexopen-source.html" title="Flex:Open Source" /><author><name>Devil Boy</name><uri>http://www.blogger.com/profile/11391501637779739676</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEQARn06eip7ImA9WxdWEUQ.&quot;"><id>tag:blogger.com,1999:blog-5967925963269483996.post-3840055420586029351</id><published>2008-07-04T10:24:00.000-07:00</published><updated>2008-07-04T10:25:47.312-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-04T10:25:47.312-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="silverlight" /><category scheme="http://www.blogger.com/atom/ns#" term="microsoft" /><category scheme="http://www.blogger.com/atom/ns#" term="code free" /><title>Silverlight - General</title><content type="html">&lt;table class="SectionTOC" border="0" cellpadding="4" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr id="ctl00_MC_ctl00_TSR_ctl01_AHR" class="SectionTOCHeader" valign="top"&gt;&lt;td style="width: 80%;"&gt;&lt;b&gt;&lt;a href="http://www.codeproject.com/KB/silverlight/index.aspx?sort=title#Silverlight%20-%20General"&gt;Title &lt;/a&gt; &lt;/b&gt;/    &lt;b&gt; &lt;a href="http://www.codeproject.com/KB/silverlight/index.aspx?sort=update#Silverlight%20-%20General"&gt; Updated&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;  &lt;td&gt;&lt;b&gt;&lt;a href="http://www.codeproject.com/KB/silverlight/index.aspx?sort=author#Silverlight%20-%20General"&gt;Author&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;  &lt;td&gt;&lt;b&gt;&lt;a href="http://www.codeproject.com/KB/silverlight/index.aspx?sort=score#Silverlight%20-%20General"&gt;Score&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;  &lt;td&gt;&lt;b&gt; &lt;/b&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl00_AR" class="SectionTOCRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl00_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/richtextedit.aspx"&gt;Silverlight 2 Beta 2: The first native rich text editor&lt;/a&gt;&lt;/b&gt;      &lt;img id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl00_SI" src="http://www.codeproject.com/script/Content/Images/U.gif" style="border-width: 0px;" /&gt;      &lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl00_Up"&gt;8 Jun 2008&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl00_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl00_Dsc"&gt;In contrast to existing ones, my RTE is fully written in C#, and doesn't use any HTML rendering or JavaScript. Most common features are supported!&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl00_Attr"&gt;.NET 3.0, C# 3.0, .NET 3.5, C#, .NET, Dev, XAML, WPF, Design, Intermediate&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=799067"&gt;Christoph Husse&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;4.87&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl01_AR" class="SectionTOCUneditedRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl01_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/DeepZoom.aspx"&gt;DeepZoom&lt;/a&gt;&lt;/b&gt;             - &lt;i&gt;Unedited&lt;/i&gt;&lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl01_Up"&gt;13 May 2008&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl01_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl01_Dsc"&gt;An article showing how to do DeepZoom in Silverlight 2.0&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl01_Attr"&gt;C# 3.0, .NET 3.5, C#, ASP.NET, .NET, Dev, Design, Intermediate&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=569009"&gt;Sacha Barber&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;4.81&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl02_AR" class="SectionTOCUneditedRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl02_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/Silverlight_treeview.aspx"&gt;A simple treeview in Silverlight 2b1&lt;/a&gt;&lt;/b&gt;      &lt;img id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl02_SI" src="http://www.codeproject.com/script/Content/Images/U.gif" style="border-width: 0px;" /&gt;       - &lt;i&gt;Unedited&lt;/i&gt;&lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl02_Up"&gt;14 May 2008&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl02_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl02_Dsc"&gt;Créating a templatable treeview in silverlight&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl02_Attr"&gt;C#, Advanced&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=3501027"&gt;Valentin Billotte&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;4.74&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl03_AR" class="SectionTOCUneditedRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl03_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/gridcomputing.aspx"&gt;Legion: Build your own virtual super computer with Silverlight&lt;/a&gt;&lt;/b&gt;      &lt;img id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl03_SI" src="http://www.codeproject.com/script/Content/Images/U.gif" style="border-width: 0px;" /&gt;       - &lt;i&gt;Unedited&lt;/i&gt;&lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl03_Up"&gt;29 Dec 2007&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl03_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl03_Dsc"&gt;Legion is a grid computing framework that uses the Silverlight CLR to execute user definable tasks. It provides grid-wide thread-safe operations for web clients. Client performance metrics, such as bandwidth and processor speed, may be used to tailor jobs. Also includes a WPF Manager application.&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl03_Attr"&gt;C# 3.0, .NET 3.5, VS2008, C#, ASP.NET, .NET, Visual Studio, CEO, Arch, Dev, WCF, XAML, WPF, Advanced&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=187345"&gt;Daniel Vaughan&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;4.69&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl04_AR" class="SectionTOCRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl04_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/SilverlightGame.aspx"&gt;Silverlight Alien Sokoban&lt;/a&gt;&lt;/b&gt;            &lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl04_Up"&gt;11 Nov 2007&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl04_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl04_Dsc"&gt;A fun Silverlight implementation of the game Sokoban. Contrasting Silverlight 1.1 and WPF, while showcasing some new features of C# 3.0, Expression Design, Expression Blend, and Visual Studio 2008.&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl04_Attr"&gt;C# 3.0, .NET 3.5, VS2008, ASP.NET, Windows, Dev, XAML, WebForms, Design, Intermediate&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=187345"&gt;Daniel Vaughan&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;4.67&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl05_AR" class="SectionTOCRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl05_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/AGBackgroundWorker.aspx"&gt;BackgroundWorker in Silverlight &lt;/a&gt;&lt;/b&gt;      &lt;img id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl05_SI" src="http://www.codeproject.com/script/Content/Images/U.gif" style="border-width: 0px;" /&gt;      &lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl05_Up"&gt;4 Feb 2008&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl05_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl05_Dsc"&gt;Why not create our own BackgroundWorker for use with Silverlight?&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl05_Attr"&gt;C# 1.0, C# 2.0, C# 3.0, C#, ASP.NET, WinCE, .NET, Dev, WebForms, Intermediate&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=3501027"&gt;Valentin Billotte&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;4.67&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl06_AR" class="SectionTOCRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl06_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/crud-op-in-silverlight.aspx"&gt;CRUD operations in Siverlight using ADO.NET Data Service&lt;/a&gt;&lt;/b&gt;            &lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl06_Up"&gt;10 Feb 2008&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl06_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl06_Dsc"&gt;The simplest way to do CRUD (Create, Retrieve, Update, Delete) operations in Silverlight using ADO.NET Data Service (Astoria).&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl06_Attr"&gt;C# 1.0, C# 2.0, C# 3.0, .NET 3.5, C#, ASP.NET, Windows, .NET, Dev, ADO.NET, WebForms, Ajax, Intermediate&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=1444452"&gt;Michael &lt;span style="color:red;"&gt;Sync&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;4.65&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl07_AR" class="SectionTOCRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl07_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/SLFun.aspx"&gt;Silverlight 1.1 Fun and Games&lt;/a&gt;&lt;/b&gt;            &lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl07_Up"&gt;1 Nov 2007&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl07_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl07_Dsc"&gt;Silverlight 1.1 Fun and Games&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl07_Attr"&gt;.NET 3.5, VS2008, C#, XML, Windows, Dev, Design, Intermediate&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=569009"&gt;Sacha Barber&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;4.64&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl08_AR" class="SectionTOCUneditedRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl08_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/sstunts.aspx"&gt;SilverStunts - a data driven game in SilverLight&lt;/a&gt;&lt;/b&gt;             - &lt;i&gt;Unedited&lt;/i&gt;&lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl08_Up"&gt;31 Dec 2007&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl08_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl08_Dsc"&gt;The article discusses concepts of data driven web games. An example game 'SilverStunts' is presented and described in more technical details.&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl08_Attr"&gt;Win2K, WinXP, Vista, C# 3.0, .NET 3.5, VS2008, C#, Javascript, XML, CSS, Windows, .NET, Visual Studio, HTML, Dev, XHTML, XAML, Intermediate&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=189795"&gt;Antonin Hildebrand&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;4.60&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl09_AR" class="SectionTOCUneditedRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl09_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/AgDynAnimations.aspx"&gt;Creating and Reusing Dynamic Animations in Silverlight&lt;/a&gt;&lt;/b&gt;             - &lt;i&gt;Unedited&lt;/i&gt;&lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl09_Up"&gt;21 Mar 2008&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl09_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl09_Dsc"&gt;Create dynamic animations and a simple way to reuse them to reduce xaml code size&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl09_Attr"&gt;C# 2.0, .NET 3.0, C# 3.0, .NET 3.5, VS2008, C#, .NET, Visual Studio, Dev, Beginner, Intermediate&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=4670073"&gt;SteveLi-Cellbi&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;4.60&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl10_AR" class="SectionTOCRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl10_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/STextBox.aspx"&gt;Silverlight Super TextBox (ComboBox, Masked TextBox and More)&lt;/a&gt;&lt;/b&gt;            &lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl10_Up"&gt;31 Mar 2008&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl10_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl10_Dsc"&gt;Supplementing the Silverlight 2.0b1 Controls&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl10_Attr"&gt;C#, ASP.NET, Dev, Intermediate&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=260519"&gt;Robert Linders&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;4.57&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl11_AR" class="SectionTOCUneditedRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl11_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/silverlight_networking.aspx"&gt;Networking in Silverlight and WPF or how to make them speak one each other&lt;/a&gt;&lt;/b&gt;             - &lt;i&gt;Unedited&lt;/i&gt;&lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl11_Up"&gt;22 Apr 2008&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl11_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl11_Dsc"&gt;How to use raw sockets in Silverlight application and how to make silverlight to speak with windows forms and wpf&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl11_Attr"&gt;IIS 5, IIS 5.1, IIS 6, VS2005, C# 1.0, C# 2.0, C# 3.0, IIS 7, VS2008, C#, VB, ASP, ASP.NET, VBScript, Javascript, XML, Windows, .NET, Win32, Win64, IIS, Visual Studio, HTML, GDI+, Arch, Dev, XAML, WPF, WinForms, XSLT, Ajax, Intermediate&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=32001"&gt;Tamir Khason&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;4.57&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl12_AR" class="SectionTOCUneditedRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl12_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/DecosDeepZoom.aspx"&gt;Generate Silverlight 2 DeepZoom image collection from multi-page tiff&lt;/a&gt;&lt;/b&gt;      &lt;img id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl12_SI" src="http://www.codeproject.com/script/Content/Images/N.gif" style="border-width: 0px;" /&gt;       - &lt;i&gt;Unedited&lt;/i&gt;&lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl12_Up"&gt;29 Jun 2008&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl12_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl12_Dsc"&gt;Fast generation of DeepZoom image tile sets, collection thumbnails and xml data in managed code without using external tools&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl12_Attr"&gt;.NET 2.0, C# 2.0, C# 3.0, .NET 3.5, C#, .NET, GDI+, Dev, WinForms, Intermediate&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=2307043"&gt;Berend Engelbrecht&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;4.56&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl13_AR" class="SectionTOCRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl13_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/Silverlight-DrawingBrush.aspx"&gt;DrawingBrush for Silverlight 2.0&lt;/a&gt;&lt;/b&gt;            &lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl13_Up"&gt;12 May 2008&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl13_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl13_Dsc"&gt;This article is about how to build the missing DrawingBrush object for Silverlight. Also, we'll learn about how to deeply clone Silverlight objects.&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl13_Attr"&gt;C# 1.0, C# 2.0, C# 3.0, C#, Javascript, XML, Windows, .NET, HTML, IE, Dev, XHTML, XAML, WinForms, WebForms, Intermediate&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=32001"&gt;Tamir Khason&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;4.50&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl14_AR" class="SectionTOCRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl14_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/PathToReusableXAML.aspx"&gt;Silverlight Controls - The Path to Reusable XAML&lt;/a&gt;&lt;/b&gt;      &lt;img id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl14_SI" src="http://www.codeproject.com/script/Content/Images/U.gif" style="border-width: 0px;" /&gt;      &lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl14_Up"&gt;23 Dec 2007&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl14_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl14_Dsc"&gt;An article about Silverlight Controls - The path to reusable XAML&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl14_Attr"&gt;C#, Javascript, XML, Windows, Dev, XAML, Intermediate&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=4805713"&gt;Justin-Josef Angel [MVP]&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;4.45&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl15_AR" class="SectionTOCUneditedRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl15_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/sl2Lightbox.aspx"&gt;Silverlight2 Lightbox&lt;/a&gt;&lt;/b&gt;             - &lt;i&gt;Unedited&lt;/i&gt;&lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl15_Up"&gt;28 Apr 2008&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl15_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl15_Dsc"&gt;A Silverlight2 lightbox control&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl15_Attr"&gt;C# 3.0, .NET 3.5, VS2008, C#, Javascript, .NET, Visual Studio, Dev, XAML, Design, Intermediate&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=204279"&gt;Tim Mason&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;4.43&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl16_AR" class="SectionTOCUneditedRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl16_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/mediabutton.aspx"&gt;Developing a Custom Control for Silverlight 2.0&lt;/a&gt;&lt;/b&gt;      &lt;img id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl16_SI" src="http://www.codeproject.com/script/Content/Images/U.gif" style="border-width: 0px;" /&gt;       - &lt;i&gt;Unedited&lt;/i&gt;&lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl16_Up"&gt;14 Apr 2008&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl16_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl16_Dsc"&gt;In this article I show the key steps to develop a Silverlight 2.0 custom control&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl16_Attr"&gt;C# 1.0, C# 2.0, C# 3.0, .NET 3.5, C#, Windows, .NET, Dev, XAML, Design, Beginner&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=2562"&gt;Attila Hajdrik&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;4.41&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl17_AR" class="SectionTOCRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl17_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/BeginningSilverlightPart1.aspx"&gt;Beginning Silverlight 1.1 Part 1&lt;/a&gt;&lt;/b&gt;            &lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl17_Up"&gt;12 Oct 2007&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl17_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl17_Dsc"&gt;Describing basic Silverlight principles&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl17_Attr"&gt;C#, Windows, .NET, Visual Studio, Dev, Beginner&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=3543614"&gt;Andrey Baskov&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;4.41&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl18_AR" class="SectionTOCRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl18_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/SilverlightLogging.aspx"&gt;Clog - Client Logging, Silverlight Edition&lt;/a&gt;&lt;/b&gt;      &lt;img id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl18_SI" src="http://www.codeproject.com/script/Content/Images/U.gif" style="border-width: 0px;" /&gt;      &lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl18_Up"&gt;14 Jan 2008&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl18_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl18_Dsc"&gt;A customizable log provider system that allows you to harness your existing logging system to log client side messages to your server. Includes a Silverlight interface and Log Viewer.&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl18_Attr"&gt;C# 3.0, .NET 3.5, VS2008, ASP.NET, Windows, Dev, QA, XAML, Design, Intermediate&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=187345"&gt;Daniel Vaughan&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;4.34&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl19_AR" class="SectionTOCUneditedRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl19_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/DrinkMateStandardImprints.aspx"&gt;Silverlight Animations in a Practical Business Application&lt;/a&gt;&lt;/b&gt;      &lt;img id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl19_SI" src="http://www.codeproject.com/script/Content/Images/U.gif" style="border-width: 0px;" /&gt;       - &lt;i&gt;Unedited&lt;/i&gt;&lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl19_Up"&gt;29 Dec 2007&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl19_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl19_Dsc"&gt;An article on building a practical business application using Silverlight animations&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl19_Attr"&gt;WinXP, Win2003, Vista, C# 2.0, .NET 3.0, C# 3.0, .NET 3.5, VS2008, C#, .NET, Visual Studio, HTML, CEO, Arch, Dev, XAML, WPF, Design, Intermediate, Advanced&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=853102"&gt;Cal Schrotenboer&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;4.34&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl20_AR" class="SectionTOCRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl20_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/Silverlight_JavaScript.aspx"&gt;AjaxControlToolkit, Silverlight and JavaScript&lt;/a&gt;&lt;/b&gt;            &lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl20_Up"&gt;27 May 2008&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl20_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl20_Dsc"&gt;An article on combining Silverlight and JavaScript in an ASP.NET Web page&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl20_Attr"&gt;.NET 2.0, C#, ASP.NET, Javascript, Windows, Dev, Intermediate&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=3051109"&gt;codegod.de&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;4.20&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl21_AR" class="SectionTOCRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl21_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/silverlightintro.aspx"&gt;SilverLight Introduction&lt;/a&gt;&lt;/b&gt;            &lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl21_Up"&gt;26 May 2007&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl21_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl21_Dsc"&gt;Tinkering with SilverLight to get a 3D scene rendered in the Browser.&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl21_Attr"&gt;VS2005, .NET 3.0, C#, Javascript, Windows, HTML, Arch, Dev, WPF, Intermediate&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=299328"&gt;   &lt;span style="font-family:verdana;"&gt;.Suchit&lt;/span&gt; &lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;4.16&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl22_AR" class="SectionTOCRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl22_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/Silverlight_AJAX_Graph.aspx"&gt;Silverlight based AJAX line graph&lt;/a&gt;&lt;/b&gt;            &lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl22_Up"&gt;7 Aug 2007&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl22_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl22_Dsc"&gt;An article on creating real time line graphs for webpages using AJAX and Silverlight.&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl22_Attr"&gt;ASP.NET, Javascript, XML, Windows, .NET, Visual Studio, Dev, XAML, WebForms, Ajax, Design, Intermediate&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=1704678"&gt;ashish_patil++&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;4.14&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl23_AR" class="SectionTOCUneditedRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl23_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/XamlWithoutMime.aspx"&gt;Hosting XAML files for Silverlight without registering MIME types on Web Server&lt;/a&gt;&lt;/b&gt;             - &lt;i&gt;Unedited&lt;/i&gt;&lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl23_Up"&gt;28 Nov 2007&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl23_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl23_Dsc"&gt;IIS rejects files with unknown type and ISP providers may not have updated their servers with the XAML MIME type. Article suggests a work around to host XAML files.&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl23_Attr"&gt;IIS 6, VS2005, .NET 3.0, IIS 7, .NET 3.5, Windows, Dev, XAML, Intermediate&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=109776"&gt;Sriram Chitturi&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;4.08&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl24_AR" class="SectionTOCRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl24_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/SierpinskiTriangle.aspx"&gt;Sierpinski Triangle - An Introduction into Silverlight by Example&lt;/a&gt;&lt;/b&gt;            &lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl24_Up"&gt;20 May 2007&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl24_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl24_Dsc"&gt;An Introduction into Silverlight by Example&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl24_Attr"&gt;WinXP, Vista, IIS 6, VS2005, IE 6.0, C# 2.0, .NET 3.0, IE 7, C# 3.0, IIS 7, ASP.NET, Javascript, HTML, Dev, XAML, WebForms, Design, Beginner&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=353582"&gt;CJCraft.com&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;4.06&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl25_AR" class="SectionTOCUneditedRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl25_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/WrapPanelSilverlight.aspx"&gt;WrapPanel for Silverlight 2.0&lt;/a&gt;&lt;/b&gt;      &lt;img id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl25_SI" src="http://www.codeproject.com/script/Content/Images/U.gif" style="border-width: 0px;" /&gt;       - &lt;i&gt;Unedited&lt;/i&gt;&lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl25_Up"&gt;6 Mar 2008&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl25_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl25_Dsc"&gt;Simple example of custom panel using Silverlight 2.0&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl25_Attr"&gt;C# 1.0, C# 2.0, .NET 3.0, C# 3.0, .NET 3.5, C#, .NET&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=2759405"&gt;lneir&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;4.05&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl26_AR" class="SectionTOCRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl26_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/Popfly.aspx"&gt;Meet Microsoft Popfly: Part I - Mashup App Creator Built On Silverlight&lt;/a&gt;&lt;/b&gt;            &lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl26_Up"&gt;3 Jun 2007&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl26_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl26_Dsc"&gt;Learn more about the Mashup creator, Popfly space, and the Web page creator.&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl26_Attr"&gt;.NET 2.0, IIS 6, VS2005, IE 6.0, C# 2.0, IE 7, ASP.NET, Javascript, XML, Windows, HTML, Dev, XAML, WPF, WebForms, Ajax, Design, Beginner&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=353582"&gt;CJCraft.com&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;4.05&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl27_AR" class="SectionTOCRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl27_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/Silverlight_RTL.aspx"&gt;Silverlight 1.1 Hebrew and Arabic Language Support&lt;/a&gt;&lt;/b&gt;            &lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl27_Up"&gt;31 Jan 2008&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl27_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl27_Dsc"&gt;An article presenting Silverlight 1.1 Hebrew and Arabic language support&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl27_Attr"&gt;C#, XML, .NET, Visual Studio, Dev, XAML, Intermediate&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=4805713"&gt;Justin-Josef Angel [MVP]&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;3.94&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl28_AR" class="SectionTOCRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl28_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/JavaScript_Intellisense.aspx"&gt;Silverlight 1.0 Full JavaScript Intellisense&lt;/a&gt;&lt;/b&gt;      &lt;img id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl28_SI" src="http://www.codeproject.com/script/Content/Images/U.gif" style="border-width: 0px;" /&gt;      &lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl28_Up"&gt;21 Dec 2007&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl28_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl28_Dsc"&gt;An article about Silverlight 1.0  full JavaScript Intellisense&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl28_Attr"&gt;Javascript, XML, Windows, Dev, XAML, Intermediate&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=4805713"&gt;Justin-Josef Angel [MVP]&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;3.81&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl29_AR" class="SectionTOCUneditedRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl29_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/secontrols.aspx"&gt;Developing of silverlight-enabled ASP.NET controls&lt;/a&gt;&lt;/b&gt;      &lt;img id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl29_SI" src="http://www.codeproject.com/script/Content/Images/U.gif" style="border-width: 0px;" /&gt;       - &lt;i&gt;Unedited&lt;/i&gt;&lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl29_Up"&gt;4 Jan 2008&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl29_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl29_Dsc"&gt;This article shows you how to bring revolutionary UI provided by MS Silverlight to the world of ASP.NET control development with the help of recent released ASP.NET 3.5 Extensions CTP&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl29_Attr"&gt;C# 3.0, .NET 3.5, VS2008, C#, ASP.NET, Javascript, .NET, Dev, XAML, Ajax, Design, Advanced&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=4801884"&gt;Aleksey Zaharov&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;3.52&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl30_AR" class="SectionTOCUneditedRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl30_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/silverlightcomponents.aspx"&gt;Silverlight 2.0 components development&lt;/a&gt;&lt;/b&gt;             - &lt;i&gt;Unedited&lt;/i&gt;&lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl30_Up"&gt;24 Apr 2008&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl30_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl30_Dsc"&gt;This article has been initiated by some knowledge that we wanted to share based on our Silverlight experiences from one of the projects that we made.&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl30_Attr"&gt;.NET 2.0, C# 1.0, C# 2.0, .NET 3.0, C# 3.0, C#, Dev, XAML, WPF, Beginner, Intermediate&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=5118155"&gt;Enterra&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;3.36&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl31_AR" class="SectionTOCRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl31_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/SilverlightsOut.aspx"&gt;Silverlights Out - An Introduction into Silverlight by Example&lt;/a&gt;&lt;/b&gt;            &lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl31_Up"&gt;13 May 2007&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl31_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl31_Dsc"&gt;An Introduction into Silverlight by Example&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl31_Attr"&gt;WinXP, Vista, IIS 6, IE 6.0, C# 2.0, .NET 3.0, IE 7, C# 3.0, IIS 7, ASP.NET, Javascript, CSS, HTML, Dev, XAML, WebForms, Beginner&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=353582"&gt;CJCraft.com&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;3.19&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl32_AR" class="SectionTOCUneditedRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl32_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/DropDownMenuSilverlight2.aspx"&gt;Drop Down menu in Silverlight 2&lt;/a&gt;&lt;/b&gt;      &lt;img id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl32_SI" src="http://www.codeproject.com/script/Content/Images/U.gif" style="border-width: 0px;" /&gt;       - &lt;i&gt;Unedited&lt;/i&gt;&lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl32_Up"&gt;26 May 2008&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl32_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl32_Dsc"&gt;Drop Down menu using popup control in Silverlight 2&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl32_Attr"&gt;.NET 3.5, VS2008, C#, .NET, Visual Studio, Dev, Intermediate&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=4854966"&gt;RazanPaul&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;2.77&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl33_AR" class="SectionTOCUneditedRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl33_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/SilverLightSaveWebPage.aspx"&gt;Silverlight - Save Web Page&lt;/a&gt;&lt;/b&gt;             - &lt;i&gt;Unedited&lt;/i&gt;&lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl33_Up"&gt;15 Apr 2008&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl33_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl33_Dsc"&gt;Saving the silverlight based web control to the database.&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl33_Attr"&gt;VS2008, ASP.NET, Visual Studio, XAML&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=236354"&gt;Yildirim Kocdag&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;2.64&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl34_AR" class="SectionTOCUneditedRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl34_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/xaml.aspx"&gt;XAML and Silverlight&lt;/a&gt;&lt;/b&gt;             - &lt;i&gt;Unedited&lt;/i&gt;&lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl34_Up"&gt;6 Apr 2008&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl34_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl34_Dsc"&gt;What is XAML and its basics&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl34_Attr"&gt;.NET 3.0, C# 3.0, C#, ASP.NET, Javascript, .NET, HTML, Dev, XAML, Ajax, Design, Beginner&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=5050059"&gt;Nandini S Anatharam&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;2.30&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl35_AR" class="SectionTOCUneditedRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl35_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/SilverLight2CoolCode.aspx"&gt;How to implement paging in Silver Light2 DataGrid&lt;/a&gt;&lt;/b&gt;             - &lt;i&gt;Unedited&lt;/i&gt;&lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl35_Up"&gt;26 Apr 2008&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl35_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl35_Dsc"&gt;How to implement paging in Silver Light2 DataGrid&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl35_Attr"&gt;C# 3.0, C#, ASP.NET&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=3181601"&gt;setu_raas&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;2.00&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;        &lt;tr id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl36_AR" class="SectionTOCUneditedRow"&gt;  &lt;td class="Smalltext" style="width: 80%;"&gt;     &lt;b&gt;&lt;a id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl36_T" name="artTitle" href="http://www.codeproject.com/KB/silverlight/silverligth2b2javascripts.aspx"&gt;Html Password Box with Silverlight&lt;/a&gt;&lt;/b&gt;      &lt;img id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl36_SI" src="http://www.codeproject.com/script/Content/Images/N.gif" style="border-width: 0px;" /&gt;       - &lt;i&gt;Unedited&lt;/i&gt;&lt;br /&gt;     Updated: &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl36_Up"&gt;1 Jul 2008&lt;/span&gt;          &lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl36_SL"&gt;&lt;/span&gt;                    &lt;div style="margin-top: 3px;"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl36_Dsc"&gt;How to communicate from javascript/html page to Silverlight application using password form&lt;/span&gt;&lt;/div&gt;      &lt;div class="ArAtt"&gt;&lt;span id="ctl00_MC_ctl00_TSR_ctl01_ALR_ctl36_Attr"&gt;VS2008, C#, ASP.NET, Windows, Visual Studio, Dev, WebForms, Beginner, MacOS&lt;/span&gt;&lt;/div&gt;     &lt;/td&gt;  &lt;td class="Smalltext" style="width: 15%;" valign="top"&gt;&lt;a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=5232242"&gt;Maciej Gren&lt;/a&gt;&lt;/td&gt;  &lt;td class="Smalltext" style="width: 10%;" valign="top" align="left"&gt;1.00&lt;/td&gt;  &lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5967925963269483996-3840055420586029351?l=devtoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://devtoday.blogspot.com/feeds/3840055420586029351/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5967925963269483996&amp;postID=3840055420586029351" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/3840055420586029351?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5967925963269483996/posts/default/3840055420586029351?v=2" /><link rel="alternate" type="text/html" href="http://devtoday.blogspot.com/2008/07/silverlight-general.html" title="Silverlight - General" /><author><name>Devil Boy</name><uri>http://www.blogger.com/profile/11391501637779739676</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry></feed>

