<?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;DUcFQHg-eyp7ImA9WhRRFks.&quot;"><id>tag:blogger.com,1999:blog-2760789613387826548</id><updated>2011-11-30T07:30:11.653-08:00</updated><category term="table filter" /><category term="asp.net" /><category term="custom control" /><category term="datagridview filter" /><category term="sqldatasource filter" /><category term="Oracle Apps" /><category term=".NET Framework 4.0" /><category term="Oracle E-Business Suite" /><title>Ammar Tawabini's blog</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://ammar.tawabini.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://ammar.tawabini.com/" /><author><name>Ammar Tawabini</name><uri>http://www.blogger.com/profile/04514480962238495780</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>4</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/AmmarTawabinisBlog" /><feedburner:info uri="ammartawabinisblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DUYBQn0ycSp7ImA9WhRSF0k.&quot;"><id>tag:blogger.com,1999:blog-2760789613387826548.post-3210026591544838899</id><published>2011-11-19T14:37:00.001-08:00</published><updated>2011-11-19T15:59:13.399-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-19T15:59:13.399-08:00</app:edited><title>Why Windows Phone Is Not the Best Mobile Platform Yet</title><content type="html">&lt;a href="http://2.bp.blogspot.com/-Rqz3PiFvsrQ/TshCrD9TA3I/AAAAAAAAA2U/aBMdH3JRRgA/s1600/WP7.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 190px;" src="http://2.bp.blogspot.com/-Rqz3PiFvsrQ/TshCrD9TA3I/AAAAAAAAA2U/aBMdH3JRRgA/s400/WP7.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5676860637864723314" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;I was reading Lance Ulanoff's &lt;a href="http://mashable.com/2011/11/19/windows-phone-best-platform/"&gt;article&lt;/a&gt; on Mashable the other day on how Windows Phone Platform might be the best mobile platform that we don't use. In the article he explained how the OS looks like in terms of simplicity using the Metro interface, managing and grouping your contacts, linking with other non-microsoft services like Google, Twitter, and Facebook.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;The Windows Phone OS is a great platform. It is an easy phone to use. However, the OS lacks some features that make the phone unusable. And here is why:&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1- Phones are all about people and contacts. The fixed contact structure that Microsoft is still using in all their products is not working anymore. Microsoft fixed contact structure forces you to save your contact the way they want, forcing you to save only one mobile number, two work numbers, and two home numbers, etc. While most of the time you don't have more than 2 home or work numbers, people still have more than mobile numbers. And the fact that I can't label the field is another thing. What if I want to add a custom field and call it "BlackBerry PIN", in Windows Phone you can't do that, while in iOS and Android you can label the fields in your contacts however you want.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2- Lack of VPN connection is another issue Microsoft needs to address. I'm always on VPN when I use a public hotspot or if I want to access files at office or home.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3- Internet Tethering... I have a 10 GB monthly data plan for my phone, and most of the time when I'm out of the office I use my phone's connection to access the internet from my laptop. However I heard that Microsoft rolled out an &lt;a href="http://www.wpcentral.com/updates-out-htc-hd7-mozart-and-samsung-focus-bringing-tethering-many"&gt;update&lt;/a&gt; to enable Internet Sharing on selected carriers.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;4- Localization and more supported languages&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Despite that, Windows Phone is a great platform to use and to develop apps for.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2760789613387826548-3210026591544838899?l=ammar.tawabini.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/O1wyrZF9ZK9Z0ojUZRvyfcu-BKc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/O1wyrZF9ZK9Z0ojUZRvyfcu-BKc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/O1wyrZF9ZK9Z0ojUZRvyfcu-BKc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/O1wyrZF9ZK9Z0ojUZRvyfcu-BKc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AmmarTawabinisBlog/~4/SCyUPp__ZCQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ammar.tawabini.com/feeds/3210026591544838899/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2760789613387826548&amp;postID=3210026591544838899" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2760789613387826548/posts/default/3210026591544838899?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2760789613387826548/posts/default/3210026591544838899?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AmmarTawabinisBlog/~3/SCyUPp__ZCQ/why-windows-phone-is-not-best-mobile.html" title="Why Windows Phone Is Not the Best Mobile Platform Yet" /><author><name>Ammar Tawabini</name><uri>http://www.blogger.com/profile/04514480962238495780</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/-Rqz3PiFvsrQ/TshCrD9TA3I/AAAAAAAAA2U/aBMdH3JRRgA/s72-c/WP7.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://ammar.tawabini.com/2011/11/why-windows-phone-is-not-best-mobile.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8BQHgzfyp7ImA9Wx5QGEs.&quot;"><id>tag:blogger.com,1999:blog-2760789613387826548.post-464012513013142124</id><published>2010-09-06T18:46:00.001-07:00</published><updated>2010-09-07T06:57:31.687-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-07T06:57:31.687-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="asp.net" /><category scheme="http://www.blogger.com/atom/ns#" term=".NET Framework 4.0" /><title>GridView Ajax Filter</title><content type="html">&lt;p&gt;Upon users’ requests to enhance the &lt;a href="http://ammar.tawabini.com/2008/06/aspnet-datagridview-ajax-data-filter.html"&gt;GridView Ajax Filter&lt;/a&gt; control, I made some changes to the control to allow more flexibility and functionality to it. I will discuss all the features of the control and how to use it on your project. P.S. I am using Visual Studio 2010 for the current demo. &lt;/p&gt;&lt;p&gt;Features: &lt;/p&gt;&lt;p&gt;1. More operations have been added “=, LIKE, NOT LIKE, &amp;lt;&amp;gt;, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;=”: &lt;/p&gt;&lt;p&gt;&lt;a href="http://lh3.ggpht.com/_mtZP2i_3lKU/TIWY5lvvKXI/AAAAAAAAAmk/YYxe4Pf7Dy8/s1600-h/clip_image002%5B3%5D.jpg"&gt;&lt;img style="background-image: none; border: 0px none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;" title="clip_image002" alt="clip_image002" src="http://lh4.ggpht.com/_mtZP2i_3lKU/TIWY6LN6brI/AAAAAAAAAmo/wq8BahejTBk/clip_image002_thumb.jpg?imgmax=800" border="0" width="244" height="189" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;2. Search for multiple keyword in the same filter by adding a semicolon after each keyword: &lt;/p&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/_mtZP2i_3lKU/TIWY6-N4enI/AAAAAAAAAms/YJRu_zxYeHc/s1600-h/clip_image004%5B3%5D.jpg"&gt;&lt;img style="background-image: none; border: 0px none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;" title="clip_image004" alt="clip_image004" src="http://lh4.ggpht.com/_mtZP2i_3lKU/TIWY7nPk0pI/AAAAAAAAAmw/kwHU0QPaGvk/clip_image004_thumb.jpg?imgmax=800" border="0" width="244" height="189" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;3. Updating the filter (Column , Operation, or Keyword) without removing it: &lt;/p&gt;&lt;p&gt;&lt;a href="http://lh4.ggpht.com/_mtZP2i_3lKU/TIWY8Qe9ckI/AAAAAAAAAm0/ZH1_4NVZbpM/s1600-h/clip_image006%5B3%5D.jpg"&gt;&lt;img style="background-image: none; border: 0px none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;" title="clip_image006" alt="clip_image006" src="http://lh3.ggpht.com/_mtZP2i_3lKU/TIWY84_GCZI/AAAAAAAAAm4/wVg7vJKAm2Y/clip_image006_thumb.jpg?imgmax=800" border="0" width="244" height="189" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;4. Adding multiple filter with AND / OR operation between them: &lt;/p&gt;&lt;p&gt;&lt;a href="http://lh6.ggpht.com/_mtZP2i_3lKU/TIWY9nzCjiI/AAAAAAAAAm8/4c_YKAZz6Kw/s1600-h/clip_image008%5B3%5D.jpg"&gt;&lt;img style="background-image: none; border: 0px none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;" title="clip_image008" alt="clip_image008" src="http://lh5.ggpht.com/_mtZP2i_3lKU/TIWY-KnzZaI/AAAAAAAAAnA/dgGGYRmwSHo/clip_image008_thumb.jpg?imgmax=800" border="0" width="244" height="189" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;5. Adding dynamic date values to the keyword: &lt;/p&gt;&lt;p&gt;&lt;i&gt;“For this example I am selecting all the products that have been created 8 months from today’s date using this value { t - m(8) }”. &lt;b&gt;t: today, m:month&lt;/b&gt;&lt;/i&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/_mtZP2i_3lKU/TIWY-xII0cI/AAAAAAAAAnE/9lLaZrJfEh0/s1600-h/clip_image010%5B3%5D.jpg"&gt;&lt;img style="background-image: none; border: 0px none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;" title="clip_image010" alt="clip_image010" src="http://lh6.ggpht.com/_mtZP2i_3lKU/TIWY_VRfTuI/AAAAAAAAAnI/fVs4LdUou14/clip_image010_thumb.jpg?imgmax=800" border="0" width="244" height="189" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;6. The filter for each page will be stored throughout your session, so you don’t have to re-create the filter if you visited another page then came back to the filtered page again. &lt;/p&gt;&lt;p&gt;How to Use: &lt;/p&gt;&lt;p&gt;- Create a new &lt;b&gt;ASP.NET Empty Web Application&lt;/b&gt; and name it &lt;b&gt;DataFilterDemo&lt;/b&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://lh6.ggpht.com/_mtZP2i_3lKU/TIWZAKyMDHI/AAAAAAAAAnM/8CrpY9LQnnQ/s1600-h/clip_image012%5B3%5D.jpg"&gt;&lt;img style="background-image: none; border: 0px none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;" title="clip_image012" alt="clip_image012" src="http://lh6.ggpht.com/_mtZP2i_3lKU/TIWZA4RZntI/AAAAAAAAAnQ/7iFK_e1XeoI/clip_image012_thumb.jpg?imgmax=800" border="0" width="244" height="176" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;- Drag and drop the following files from &lt;b&gt;DataFilter&lt;/b&gt; folder to your project “DataFilter.ascx, DataFilter.ascx.cs, and Filter.cs” (Can be found in the &lt;a href="#gvafatt"&gt;attached file below&lt;/a&gt;) &lt;/p&gt;&lt;p&gt;&lt;a href="http://lh3.ggpht.com/_mtZP2i_3lKU/TIWZBexAItI/AAAAAAAAAnU/jD7W5jLKh8U/s1600-h/clip_image014%5B3%5D.jpg"&gt;&lt;img style="background-image: none; border: 0px none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;" title="clip_image014" alt="clip_image014" src="http://lh5.ggpht.com/_mtZP2i_3lKU/TIWZB4LAV2I/AAAAAAAAAnY/-cm7J8jAXgQ/clip_image014_thumb.jpg?imgmax=800" border="0" width="244" height="169" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;- Right-click on your project and click on &lt;b&gt;Convert to Web Application&lt;/b&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://lh3.ggpht.com/_mtZP2i_3lKU/TIWZCoW3lWI/AAAAAAAAAnc/pT__cajfPlc/s1600-h/clip_image016%5B3%5D.jpg"&gt;&lt;img style="background-image: none; border: 0px none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;" title="clip_image016" alt="clip_image016" src="http://lh6.ggpht.com/_mtZP2i_3lKU/TIWZDHIgxGI/AAAAAAAAAng/3BzwYbgP5Hc/clip_image016_thumb.jpg?imgmax=800" border="0" width="244" height="154" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;-Right-Click on your project and click on &lt;b&gt;Add -&amp;gt; New Item… -&amp;gt; Web Form&lt;/b&gt; then name it “Default.aspx” &lt;/p&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/_mtZP2i_3lKU/TIWZDs1NPLI/AAAAAAAAAnk/JZGjTK4UAa0/s1600-h/clip_image018%5B3%5D.jpg"&gt;&lt;img style="background-image: none; border: 0px none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;" title="clip_image018" alt="clip_image018" src="http://lh5.ggpht.com/_mtZP2i_3lKU/TIWZEd-uVaI/AAAAAAAAAno/kCK1XUUMUXI/clip_image018_thumb.jpg?imgmax=800" border="0" width="244" height="146" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;- From &lt;b&gt;Solution Explorer&lt;/b&gt; drag DataFilter.ascx control to the design view of Default.aspx Page. &lt;/p&gt;&lt;p&gt;&lt;a href="http://lh4.ggpht.com/_mtZP2i_3lKU/TIWZFQ4hUgI/AAAAAAAAAns/yfzBbkklWB4/s1600-h/clip_image020%5B3%5D.jpg"&gt;&lt;img style="background-image: none; border: 0px none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;" title="clip_image020" alt="clip_image020" src="http://lh4.ggpht.com/_mtZP2i_3lKU/TIWZF1tL0xI/AAAAAAAAAnw/RApGeQzcqxo/clip_image020_thumb.jpg?imgmax=800" border="0" width="244" height="185" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;- Add Script Manager and Update Panel to the page. &lt;/p&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/_mtZP2i_3lKU/TIWZG0RA--I/AAAAAAAAAn0/dV1B3E5dQnk/s1600-h/clip_image022%5B3%5D.jpg"&gt;&lt;img style="background-image: none; border: 0px none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;" title="clip_image022" alt="clip_image022" src="http://lh3.ggpht.com/_mtZP2i_3lKU/TIWZHe3so1I/AAAAAAAAAn4/wsh8oS_TPmE/clip_image022_thumb.jpg?imgmax=800" border="0" width="244" height="185" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;- Add new GridView inside the Update Panel “UpdatePanel1” to the page and just keep the name as “GridView1” for demonstration proposes. &lt;/p&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/_mtZP2i_3lKU/TIWZIBIXAGI/AAAAAAAAAn8/EQWq1fhaE48/s1600-h/clip_image024%5B3%5D.jpg"&gt;&lt;img style="background-image: none; border: 0px none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;" title="clip_image024" alt="clip_image024" src="http://lh4.ggpht.com/_mtZP2i_3lKU/TIWZIpfMsAI/AAAAAAAAAoA/20Hnqioa_L4/clip_image024_thumb.jpg?imgmax=800" border="0" width="244" height="185" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;- Expand GridView Properties and add new Sql Data Source &lt;/p&gt;&lt;p&gt;&lt;a href="http://lh4.ggpht.com/_mtZP2i_3lKU/TIWZJSTpFeI/AAAAAAAAAoE/aXi8rmlOp1U/s1600-h/clip_image026%5B3%5D.jpg"&gt;&lt;img style="background-image: none; border: 0px none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;" title="clip_image026" alt="clip_image026" src="http://lh4.ggpht.com/_mtZP2i_3lKU/TIWZJwfL3MI/AAAAAAAAAoI/QuxVuYoOWXo/clip_image026_thumb.jpg?imgmax=800" border="0" width="244" height="185" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://lh6.ggpht.com/_mtZP2i_3lKU/TIWZKqQO8XI/AAAAAAAAAoM/QVCwyUlDeNU/s1600-h/clip_image028%5B3%5D.jpg"&gt;&lt;img style="background-image: none; border: 0px none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;" title="clip_image028" alt="clip_image028" src="http://lh4.ggpht.com/_mtZP2i_3lKU/TIWZLTH1i9I/AAAAAAAAAoQ/jR121GKjpMY/clip_image028_thumb.jpg?imgmax=800" border="0" width="244" height="183" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;- Choose your database connection and configure the SELECT data for your GridView &lt;/p&gt;&lt;p&gt;&lt;a href="http://lh6.ggpht.com/_mtZP2i_3lKU/TIWZL5QVaRI/AAAAAAAAAoU/keiPr_pj4iI/s1600-h/clip_image029%5B3%5D.jpg"&gt;&lt;img style="background-image: none; border: 0px none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;" title="clip_image029" alt="clip_image029" src="http://lh4.ggpht.com/_mtZP2i_3lKU/TIWZMekx5PI/AAAAAAAAAoY/zox3s9PSLTc/clip_image029_thumb.jpg?imgmax=800" border="0" width="244" height="183" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://lh3.ggpht.com/_mtZP2i_3lKU/TIWZNC7VpXI/AAAAAAAAAoc/4zPF1NiwM-Q/s1600-h/clip_image031%5B3%5D.jpg"&gt;&lt;img style="background-image: none; border: 0px none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;" title="clip_image031" alt="clip_image031" src="http://lh5.ggpht.com/_mtZP2i_3lKU/TIWZNj9pxQI/AAAAAAAAAog/UWZhefd-rVU/clip_image031_thumb.jpg?imgmax=800" border="0" width="244" height="197" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/_mtZP2i_3lKU/TIWZOf3K1lI/AAAAAAAAAok/-oNi_APPMfo/s1600-h/clip_image033%5B3%5D.jpg"&gt;&lt;img style="background-image: none; border: 0px none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;" title="clip_image033" alt="clip_image033" src="http://lh6.ggpht.com/_mtZP2i_3lKU/TIWZO4B9w5I/AAAAAAAAAoo/mYghkO6ep6k/clip_image033_thumb.jpg?imgmax=800" border="0" width="244" height="197" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://lh4.ggpht.com/_mtZP2i_3lKU/TIWZPn3Q_SI/AAAAAAAAAos/HDaNPJj_aOw/s1600-h/clip_image035%5B3%5D.jpg"&gt;&lt;img style="background-image: none; border: 0px none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;" title="clip_image035" alt="clip_image035" src="http://lh5.ggpht.com/_mtZP2i_3lKU/TIWZQNIzyGI/AAAAAAAAAow/Ju_yfIgqlqo/clip_image035_thumb.jpg?imgmax=800" border="0" width="244" height="197" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://lh3.ggpht.com/_mtZP2i_3lKU/TIWZQzvaBMI/AAAAAAAAAo0/UIarWjGJLOQ/s1600-h/clip_image037%5B3%5D.jpg"&gt;&lt;img style="background-image: none; border: 0px none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;" title="clip_image037" alt="clip_image037" src="http://lh3.ggpht.com/_mtZP2i_3lKU/TIWZSZyUnBI/AAAAAAAAAo4/P1O9T77YZc4/clip_image037_thumb.jpg?imgmax=800" border="0" width="244" height="185" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;- If you want, change columns’ names to whatever names you like. &lt;/p&gt;&lt;p&gt;- Right click on the page and click &lt;b&gt;View Code&lt;/b&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://lh4.ggpht.com/_mtZP2i_3lKU/TIWZTNfumYI/AAAAAAAAAo8/sxw7cjaPjhY/s1600-h/clip_image039%5B3%5D.jpg"&gt;&lt;img style="background-image: none; border: 0px none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;" title="clip_image039" alt="clip_image039" src="http://lh4.ggpht.com/_mtZP2i_3lKU/TIWZTjY4GOI/AAAAAAAAApA/mNmtua6EM3Y/clip_image039_thumb.jpg?imgmax=800" border="0" width="244" height="184" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;- Inside Page_Load function, add the following code: &lt;/p&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/_mtZP2i_3lKU/TIWZUXxun9I/AAAAAAAAApE/OvskjpZ99Co/s1600-h/clip_image041%5B3%5D.png"&gt;&lt;img style="background-image: none; border: 0px none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;" title="clip_image041" alt="clip_image041" src="http://lh3.ggpht.com/_mtZP2i_3lKU/TIWZUx86erI/AAAAAAAAApI/L3fdvSe-tj0/clip_image041_thumb.png?imgmax=800" border="0" width="244" height="67" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;- Add a new Event Handler function to handle the call back from the control: &lt;/p&gt;&lt;p&gt;&lt;a href="http://lh6.ggpht.com/_mtZP2i_3lKU/TIWZVjfOxaI/AAAAAAAAApM/NfVFHGP_t5g/s1600-h/clip_image043%5B3%5D.png"&gt;&lt;img style="background-image: none; border: 0px none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px;" title="clip_image043" alt="clip_image043" src="http://lh5.ggpht.com/_mtZP2i_3lKU/TIWZWiVVVlI/AAAAAAAAApQ/bn6gQPHuC3U/clip_image043_thumb.png?imgmax=800" border="0" width="244" height="143" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;- Done, press F5 to debug and run your application &lt;/p&gt;&lt;p&gt;Please note the following: &lt;/p&gt;&lt;p&gt;- Date format must be as dd/MM/yyyy to be able to filter the column or you can change that by re-write the part of Filter.cs that handles the date format. &lt;/p&gt;&lt;p&gt;- To Implement Sorting and Paging when the filter is applied call the Event Handler “DataFilter1_OnDataBound()” on the following Events of GridView “Sorted” and “PageIndexChanged”   &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Source Code &amp;amp; Demo&lt;/p&gt;&lt;br /&gt;&lt;iframe id="gvafatt" title="Preview" marginheight="0" marginwidth="0" style="width: 98px; height: 115px; padding: 0pt; background-color: rgb(252, 252, 252);" src="http://cid-96b1c001b53b5d01.office.live.com/embedicon.aspx/tawatech.blogspot.com/DataFilter.zip" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2760789613387826548-464012513013142124?l=ammar.tawabini.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/C1LdbFx8t4loXoHZFEnXVCh-7oA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/C1LdbFx8t4loXoHZFEnXVCh-7oA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/C1LdbFx8t4loXoHZFEnXVCh-7oA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/C1LdbFx8t4loXoHZFEnXVCh-7oA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AmmarTawabinisBlog/~4/0YGsy--d_Qk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ammar.tawabini.com/feeds/464012513013142124/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2760789613387826548&amp;postID=464012513013142124" title="9 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2760789613387826548/posts/default/464012513013142124?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2760789613387826548/posts/default/464012513013142124?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AmmarTawabinisBlog/~3/0YGsy--d_Qk/gridview-ajax-filter.html" title="GridView Ajax Filter" /><author><name>Ammar Tawabini</name><uri>http://www.blogger.com/profile/04514480962238495780</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://lh4.ggpht.com/_mtZP2i_3lKU/TIWY6LN6brI/AAAAAAAAAmo/wq8BahejTBk/s72-c/clip_image002_thumb.jpg?imgmax=800" height="72" width="72" /><thr:total>9</thr:total><feedburner:origLink>http://ammar.tawabini.com/2010/09/gridview-ajax-filter.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8NSX48cCp7ImA9WxJWGE4.&quot;"><id>tag:blogger.com,1999:blog-2760789613387826548.post-4106891526919845782</id><published>2008-07-04T15:27:00.000-07:00</published><updated>2009-06-24T03:04:58.078-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-24T03:04:58.078-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle Apps" /><category scheme="http://www.blogger.com/atom/ns#" term="Oracle E-Business Suite" /><title>Publishing reports in Oracle E-Business Suite</title><content type="html">&lt;style type="text/css"&gt;&lt;br /&gt;   &lt;br /&gt;   body &lt;br /&gt;   {&lt;br /&gt;    background-color: #1a1a1a;&lt;br /&gt;    font: .8em/1.3em verdana,arial,helvetica,sans-serif;&lt;br /&gt;    text-align: center;&lt;br /&gt;   }&lt;br /&gt;   #media&lt;br /&gt;   {&lt;br /&gt;      margin-top: 40px;&lt;br /&gt;         }&lt;br /&gt;   #noUpdate&lt;br /&gt;   {&lt;br /&gt;    margin: 0 auto;&lt;br /&gt;    font-family:Arial, Helvetica, sans-serif;&lt;br /&gt;    font-size: x-small;&lt;br /&gt;    color: #cccccc;&lt;br /&gt;    text-align: left;&lt;br /&gt;    width: 210px; &lt;br /&gt;    height: 200px; &lt;br /&gt;    padding: 40px;&lt;br /&gt;   }&lt;br /&gt;  &lt;/style&gt;This video tutorial will guide you to step by step creating and publishing a report in Oracle E-Business Suite 11. I used the Vision Instance for my demonstration.&lt;br /&gt;&lt;br /&gt;Download the SWF File and run it in your browser&lt;br /&gt;&lt;br /&gt;&lt;iframe marginheight="0" marginwidth="0" style="border: 1px solid rgb(221, 229, 233); margin: 3px; padding: 0pt; width: 240px; height: 66px; background-color: rgb(255, 255, 255);" src="http://cid-96b1c001b53b5d01.skydrive.live.com/embedrowdetail.aspx/tawatech.blogspot.com/OEBS/Publishing%20Report%20in%20Oracle%20E-Business%20Suite%20Flash.swf" scrolling="no" frameborder="0"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2760789613387826548-4106891526919845782?l=ammar.tawabini.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/LwCgSrzfTPsR5fxONZ_A2eQWdiE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LwCgSrzfTPsR5fxONZ_A2eQWdiE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/LwCgSrzfTPsR5fxONZ_A2eQWdiE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LwCgSrzfTPsR5fxONZ_A2eQWdiE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AmmarTawabinisBlog/~4/mK7ZGS3h_U0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ammar.tawabini.com/feeds/4106891526919845782/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2760789613387826548&amp;postID=4106891526919845782" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2760789613387826548/posts/default/4106891526919845782?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2760789613387826548/posts/default/4106891526919845782?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AmmarTawabinisBlog/~3/mK7ZGS3h_U0/publishing-report-in-oracle-e-business.html" title="Publishing reports in Oracle E-Business Suite" /><author><name>Ammar Tawabini</name><uri>http://www.blogger.com/profile/04514480962238495780</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><feedburner:origLink>http://ammar.tawabini.com/2008/07/publishing-report-in-oracle-e-business.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEAEQ386eSp7ImA9WhZVGE4.&quot;"><id>tag:blogger.com,1999:blog-2760789613387826548.post-7767837826831803474</id><published>2008-06-12T05:14:00.000-07:00</published><updated>2011-05-31T02:05:02.111-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-31T02:05:02.111-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="datagridview filter" /><category scheme="http://www.blogger.com/atom/ns#" term="sqldatasource filter" /><category scheme="http://www.blogger.com/atom/ns#" term="asp.net" /><category scheme="http://www.blogger.com/atom/ns#" term="table filter" /><category scheme="http://www.blogger.com/atom/ns#" term="custom control" /><title>ASP.NET GridView Ajax Data Filter Control</title><content type="html">&lt;span style="font-size:180%;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;UPDATE:&lt;/span&gt;&lt;/span&gt; new release of the control found &lt;a href="http://ammar.tawabini.com/2010/09/gridview-ajax-filter.html"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I was looking for an ASP.net 2.0 custom control that enables the user to filter the data in a GridView control by adding filters to the GridView. The control can be found in applications such as Microsoft BI Studio. So I decided to develop a web based control that will do such thing.&lt;br /&gt;&lt;br /&gt;note:&lt;br /&gt;1-ASP.NET Ajax Extensions must be installed in your VS.NET evironment.&lt;br /&gt;2-GridView must be placed inside Ajax UpdatePanel.&lt;br /&gt;3-You don't have to add ScriptManager inside your aspx page since the control contains one.&lt;br /&gt;4-In case your page has a ScriptManager, you can delete the one inside the custom control.&lt;br /&gt;&lt;br /&gt;Here are some pictures demonstrating the use of the control:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_mtZP2i_3lKU/SFEn0IQb_3I/AAAAAAAAABM/OMSGiZwavMY/s1600-h/FilterDemo1.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_mtZP2i_3lKU/SFEn0IQb_3I/AAAAAAAAABM/OMSGiZwavMY/s400/FilterDemo1.PNG" alt="" id="BLOGGER_PHOTO_ID_5210990020367482738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_mtZP2i_3lKU/SFEn3hTxchI/AAAAAAAAABU/6RgVMXqMYU8/s1600-h/FilterDemo2.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_mtZP2i_3lKU/SFEn3hTxchI/AAAAAAAAABU/6RgVMXqMYU8/s400/FilterDemo2.PNG" alt="" id="BLOGGER_PHOTO_ID_5210990078631965202" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_mtZP2i_3lKU/SFEn5bO1IlI/AAAAAAAAABc/sGZpZT0jtE8/s1600-h/FilterDemo3.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_mtZP2i_3lKU/SFEn5bO1IlI/AAAAAAAAABc/sGZpZT0jtE8/s400/FilterDemo3.PNG" alt="" id="BLOGGER_PHOTO_ID_5210990111360361042" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here is the demo of the custom control:&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/H-vkWeoohtg&amp;amp;hl=en&amp;amp;fs=1&amp;amp;fmt=18"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/H-vkWeoohtg&amp;amp;hl=en&amp;amp;fs=1&amp;amp;ap=%2526fmt%3D18" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;If you would like to download the high resolution flash video you can download it from here:&lt;br /&gt;&lt;iframe marginheight="0" marginwidth="0" style="border: 1px solid rgb(221, 229, 233); margin: 3px; padding: 0pt; width: 240px; height: 66px; background-color: rgb(255, 255, 255);" src="http://cid-96b1c001b53b5d01.skydrive.live.com/embedrowdetail.aspx/tawatech.blogspot.com/TableFilterProjectDemo.swf" scrolling="no" frameborder="0"&gt;&lt;/iframe&gt;&lt;br /&gt;The source code for the control is available here:&lt;br /&gt;&lt;iframe marginheight="0" marginwidth="0" style="border: 1px solid rgb(221, 229, 233); margin: 3px; padding: 0pt; width: 240px; height: 66px; background-color: rgb(255, 255, 255);" src="http://cid-96b1c001b53b5d01.skydrive.live.com/embedrowdetail.aspx/tawatech.blogspot.com/Table%20Filter.zip" scrolling="no" frameborder="0"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-size:180%;" &gt;&lt;span style="font-weight: bold;"&gt;update: &lt;/span&gt;&lt;/span&gt;I uploaded a newer version of the control.&lt;br /&gt;Current version:&lt;br /&gt;1- Adding a session field to the control to enables the user to use the control on any page at the same time, or on the same page with multiple GridView controls.&lt;br /&gt;2- And / Or operators between filters.&lt;br /&gt;3- search for multiple keyword in the same filter by adding a semicolon after each keyword.&lt;br /&gt;4- Adding new filters programmaticaly.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Screenshot:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_mtZP2i_3lKU/SjNj4C0B-8I/AAAAAAAAAFI/xc2eUEOGhzE/s1600-h/GridViewAjaxFilter.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 280px;" src="http://3.bp.blogspot.com/_mtZP2i_3lKU/SjNj4C0B-8I/AAAAAAAAAFI/xc2eUEOGhzE/s400/GridViewAjaxFilter.png" alt="" id="BLOGGER_PHOTO_ID_5346726997097839554" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Example + Source Code:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe marginheight="0" marginwidth="0" style="border: 1px solid rgb(221, 229, 233); margin: 3px; padding: 0pt; width: 240px; height: 66px; background-color: rgb(255, 255, 255);" src="http://cid-96b1c001b53b5d01.skydrive.live.com/embedrowdetail.aspx/tawatech.blogspot.com/Table%20Filter%20v2.0.zip" scrolling="no" frameborder="0"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2760789613387826548-7767837826831803474?l=ammar.tawabini.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jOgkjR1mdL_fKl3I0Bd_WNz9Gq4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jOgkjR1mdL_fKl3I0Bd_WNz9Gq4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jOgkjR1mdL_fKl3I0Bd_WNz9Gq4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jOgkjR1mdL_fKl3I0Bd_WNz9Gq4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AmmarTawabinisBlog/~4/WUIchxWrfKM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ammar.tawabini.com/feeds/7767837826831803474/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2760789613387826548&amp;postID=7767837826831803474" title="46 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2760789613387826548/posts/default/7767837826831803474?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2760789613387826548/posts/default/7767837826831803474?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AmmarTawabinisBlog/~3/WUIchxWrfKM/aspnet-datagridview-ajax-data-filter.html" title="ASP.NET GridView Ajax Data Filter Control" /><author><name>Ammar Tawabini</name><uri>http://www.blogger.com/profile/04514480962238495780</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://3.bp.blogspot.com/_mtZP2i_3lKU/SFEn0IQb_3I/AAAAAAAAABM/OMSGiZwavMY/s72-c/FilterDemo1.PNG" height="72" width="72" /><thr:total>46</thr:total><feedburner:origLink>http://ammar.tawabini.com/2008/06/aspnet-datagridview-ajax-data-filter.html</feedburner:origLink></entry></feed>

