458 lines
30 KiB
HTML
458 lines
30 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||
|
||
<head profile="http://gmpg.org/xfn/11">
|
||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||
|
||
<meta name="blogcatalog" content="9BC9953358" />
|
||
<title>Binding Images in Better ListView « Owl's Blog on .NET development</title>
|
||
|
||
<link rel="stylesheet" href="wp-content/themes/componentowl/style.css" type="text/css" media="screen" />
|
||
<link rel="pingback" href="xmlrpc.php.html" />
|
||
|
||
|
||
<link rel='dns-prefetch' href='http://s.w.org/' />
|
||
<link rel="alternate" type="application/rss+xml" title="Owl's Blog on .NET development » Feed" href="feed/index.html" />
|
||
<link rel="alternate" type="application/rss+xml" title="Owl's Blog on .NET development » Comments Feed" href="comments/feed/index.html" />
|
||
<link rel="alternate" type="application/rss+xml" title="Owl's Blog on .NET development » Binding Images in Better ListView Comments Feed" href="binding-images-in-better-listview/feed/index.html" />
|
||
<script type="text/javascript">
|
||
window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/11\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/11\/svg\/","svgExt":".svg","source":{"concatemoji":"http:\/\/www.componentowl.com\/blog\/wp-includes\/js\/wp-emoji-release.min.js?ver=4.9.8"}};
|
||
!function(a,b,c){function d(a,b){var c=String.fromCharCode;l.clearRect(0,0,k.width,k.height),l.fillText(c.apply(this,a),0,0);var d=k.toDataURL();l.clearRect(0,0,k.width,k.height),l.fillText(c.apply(this,b),0,0);var e=k.toDataURL();return d===e}function e(a){var b;if(!l||!l.fillText)return!1;switch(l.textBaseline="top",l.font="600 32px Arial",a){case"flag":return!(b=d([55356,56826,55356,56819],[55356,56826,8203,55356,56819]))&&(b=d([55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447],[55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447]),!b);case"emoji":return b=d([55358,56760,9792,65039],[55358,56760,8203,9792,65039]),!b}return!1}function f(a){var c=b.createElement("script");c.src=a,c.defer=c.type="text/javascript",b.getElementsByTagName("head")[0].appendChild(c)}var g,h,i,j,k=b.createElement("canvas"),l=k.getContext&&k.getContext("2d");for(j=Array("flag","emoji"),c.supports={everything:!0,everythingExceptFlag:!0},i=0;i<j.length;i++)c.supports[j[i]]=e(j[i]),c.supports.everything=c.supports.everything&&c.supports[j[i]],"flag"!==j[i]&&(c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&c.supports[j[i]]);c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&!c.supports.flag,c.DOMReady=!1,c.readyCallback=function(){c.DOMReady=!0},c.supports.everything||(h=function(){c.readyCallback()},b.addEventListener?(b.addEventListener("DOMContentLoaded",h,!1),a.addEventListener("load",h,!1)):(a.attachEvent("onload",h),b.attachEvent("onreadystatechange",function(){"complete"===b.readyState&&c.readyCallback()})),g=c.source||{},g.concatemoji?f(g.concatemoji):g.wpemoji&&g.twemoji&&(f(g.twemoji),f(g.wpemoji)))}(window,document,window._wpemojiSettings);
|
||
</script>
|
||
<style type="text/css">
|
||
img.wp-smiley,
|
||
img.emoji {
|
||
display: inline !important;
|
||
border: none !important;
|
||
box-shadow: none !important;
|
||
height: 1em !important;
|
||
width: 1em !important;
|
||
margin: 0 .07em !important;
|
||
vertical-align: -0.1em !important;
|
||
background: none !important;
|
||
padding: 0 !important;
|
||
}
|
||
</style>
|
||
<script type='text/javascript' src='wp-includes/js/jquery/jquery.js%3Fver=1.12.4'></script>
|
||
<script type='text/javascript' src='wp-includes/js/jquery/jquery-migrate.min.js%3Fver=1.4.1'></script>
|
||
<link rel='https://api.w.org/' href='wp-json/index.html' />
|
||
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="xmlrpc.php%3Frsd" />
|
||
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="wp-includes/wlwmanifest.xml" />
|
||
<link rel='prev' title='Enabling Search Highlight in Better ListView' href='index.html%3Fp=843.html' />
|
||
<link rel='next' title='Hot Tracking Items in Better ListView' href='index.html%3Fp=861.html' />
|
||
<meta name="generator" content="WordPress 4.9.8" />
|
||
<link rel="canonical" href="index.html%3Fp=850.html" />
|
||
<link rel='shortlink' href='index.html%3Fp=850.html' />
|
||
<link rel="alternate" type="application/json+oembed" href="wp-json/oembed/1.0/embed%3Furl=http:%252F%252Fwww.componentowl.com%252Fblog%252Fbinding-images-in-better-listview%252F.html" />
|
||
<link rel="alternate" type="text/xml+oembed" href="wp-json/oembed/1.0/embed%3Furl=http:%252F%252Fwww.componentowl.com%252Fblog%252Fbinding-images-in-better-listview%252F&format=xml.html" />
|
||
<script type="text/javascript" src="../javascripts/plugins/jquery.validation.js"></script>
|
||
<script type="text/javascript" src="../javascripts/dextronet.js"></script>
|
||
<script type="text/javascript" src="wp-content/themes/componentowl/javascripts/theme.js"></script>
|
||
<!--[if IE 6]>
|
||
<style type="text/css">
|
||
#d-menu .dropdown .outer { background-image: none; }
|
||
#d-menu .dropdown .shadowbox { background-image: none; }
|
||
</style>
|
||
<![endif]-->
|
||
</head>
|
||
<body class="post-template-default single single-post postid-850 single-format-standard">
|
||
|
||
<div class="d-page">
|
||
<div class="d-placing">
|
||
<div class="d-content-wrap">
|
||
|
||
<div class="d-main">
|
||
|
||
<h1 class="blog-name"><a href="../blog.html">Owl's Blog on .NET development</a></h1>
|
||
|
||
<div class="blog-description">Component Owl codes Better ListView control all night so you don't have to.</div>
|
||
|
||
|
||
|
||
|
||
<div class="post-850 post type-post status-publish format-standard hentry category-better-listview category-components category-tutorials tag-better-listview-2 tag-bind tag-binding tag-bound tag-data tag-databinding tag-databound tag-icon tag-icons tag-imagekey tag-imagelist tag-images" id="post-850">
|
||
<h2>Binding Images in Better ListView</h2>
|
||
|
||
<p class="postmetadata">
|
||
Blog Post by Libor Tinka published on Monday, 28 January 2013 in <a href="category/better-listview/index.html" rel="category tag">Better ListView</a>, <a href="category/components/index.html" rel="category tag">Components</a>, <a href="category/tutorials/index.html" rel="category tag">Tutorials</a> </p>
|
||
|
||
<div class="entry">
|
||
<p><a href="../betterlistview.exe">Better ListView 3.5</a> have improved data binding functionality. You can adjust how the data rows will be converted to items/sub-items and vice versa. For example, you can show images based on the bound data:</p>
|
||
<div id="attachment_853" style="width: 270px" class="wp-caption aligncenter"><a href="wp-content/uploads/2013/01/screen-blv-binding3.png"><img class="size-full wp-image-853" title="Better ListView with bound list" src="wp-content/uploads/2013/01/screen-blv-binding3.png" alt="Better ListView with bound list" width="260" height="222" /></a><p class="wp-caption-text">Better ListView with bound list</p></div>
|
||
<p>Say you have a simple <strong>Server</strong> type:</p>
|
||
<p><strong>C#</strong></p>
|
||
<p>[csharp gutter=”false” toolbar=”false”]<br />
|
||
public class Server<br />
|
||
{<br />
|
||
public string ServerName<br />
|
||
{<br />
|
||
get;<br />
|
||
set;<br />
|
||
}</p>
|
||
<p> public int ServerStatus<br />
|
||
{<br />
|
||
get;<br />
|
||
set;<br />
|
||
}</p>
|
||
<p> public Server(string name, int status)<br />
|
||
{<br />
|
||
ServerName = name;<br />
|
||
ServerStatus = status;<br />
|
||
}<br />
|
||
}<br />
|
||
[/csharp]</p>
|
||
<p><strong>Visual Basic</strong></p>
|
||
<p>[vb gutter=”false” toolbar=”false”]<br />
|
||
Public Class Server</p>
|
||
<p> Public Property ServerName() As String<br />
|
||
Get<br />
|
||
Return m_ServerName<br />
|
||
End Get<br />
|
||
Set<br />
|
||
m_ServerName = Value<br />
|
||
End Set<br />
|
||
End Property</p>
|
||
<p> Public Property ServerStatus() As Integer<br />
|
||
Get<br />
|
||
Return m_ServerStatus<br />
|
||
End Get<br />
|
||
Set<br />
|
||
m_ServerStatus = Value<br />
|
||
End Set<br />
|
||
End Property</p>
|
||
<p> Private m_ServerName As String<br />
|
||
Private m_ServerStatus As Integer</p>
|
||
<p> Public Sub New(name As String, status As Integer)<br />
|
||
ServerName = name<br />
|
||
ServerStatus = status<br />
|
||
End Sub</p>
|
||
<p>End Class<br />
|
||
[/vb]</p>
|
||
<p>This class contains two properties representing server name and its status. The server name is a textual property and one would like this mapped to item label as usual. However, the server status is a numerical value which have no meaning to the user even when converted to string. In fact, the numerical value can be 0 (<em>offline</em>), 1 (<em>idle</em>) or 2 (<em>running</em>). You may like to display color icons instead of plain strings or numbers. What if we would like to even highlight some items or change other properties during data binding? This is possible through Better ListView data binding customization.</p>
|
||
<p>First, let’s create a list of <strong>Server</strong> objects and bind this to a Better ListView. We would like to have columns auto-generated, so we set <strong>DataBindColumns</strong> to <strong>true</strong>:</p>
|
||
<p><strong>C#</strong></p>
|
||
<p>[csharp gutter=”false” toolbar=”false”]<br />
|
||
Server[] servers = new[]<br />
|
||
{<br />
|
||
new Server(“Andromeda”, 2),<br />
|
||
new Server(“Taurus”, 1),<br />
|
||
new Server(“Himalia”, 2),<br />
|
||
new Server(“Nanda”, 2),<br />
|
||
new Server(“Elara”, 0),<br />
|
||
new Server(“Perseus”, 2),<br />
|
||
new Server(“Titan”, 1)<br />
|
||
};</p>
|
||
<p>ImageList imageList = new ImageList();</p>
|
||
<p>imageList.ColorDepth = ColorDepth.Depth32Bit;<br />
|
||
imageList.ImageSize = new Size(16, 16);<br />
|
||
imageList.Images.AddStrip(Image.FromFile(“status.png”));</p>
|
||
<p>BetterListView listView = new CustomListView();</p>
|
||
<p>listView.DataBindColumns = true;<br />
|
||
listView.DataSource = servers;<br />
|
||
listView.ImageList = imageList;<br />
|
||
[/csharp]</p>
|
||
<p><strong>Visual Basic</strong></p>
|
||
<p>[vb gutter=”false” toolbar=”false”]<br />
|
||
Dim servers As Server() = New () {New Server(“Andromeda”, 2), New Server(“Taurus”, 1), New Server(“Himalia”, 2), New Server(“Nanda”, 2), New Server(“Elara”, 0), New Server(“Perseus”, 2), _<br />
|
||
New Server(“Titan”, 1)}</p>
|
||
<p>Dim imageList As New ImageList()</p>
|
||
<p>imageList.ColorDepth = ColorDepth.Depth32Bit<br />
|
||
imageList.ImageSize = New Size(16, 16)<br />
|
||
imageList.Images.AddStrip(Image.FromFile(“status.png”))</p>
|
||
<p>Dim listView As BetterListView = New CustomListView()</p>
|
||
<p>listView.DataBindColumns = True<br />
|
||
listView.DataSource = servers<br />
|
||
listView.ImageList = imageList<br />
|
||
[/vb]</p>
|
||
<p>Let’s take a look on the result:</p>
|
||
<div id="attachment_851" style="width: 270px" class="wp-caption aligncenter"><a href="wp-content/uploads/2013/01/screen-blv-binding1.png"><img class="size-full wp-image-851" title="Better ListView with bound list" src="wp-content/uploads/2013/01/screen-blv-binding1.png" alt="Better ListView with bound list" width="260" height="173" /></a><p class="wp-caption-text">Better ListView with bound list</p></div>
|
||
<p> </p>
|
||
<p>The columns were auto-generated and <strong>Server</strong> properties properly converted to item and sub-item labels. The generated column header labels are just names of the corresponding properties (ServerName, ServerStatus). You can make the names more convenient by providing <strong>DisplayNameAttribute</strong> on the respective properties:</p>
|
||
<p><strong>C#</strong></p>
|
||
<p>[csharp gutter=”false” toolbar=”false”]<br />
|
||
…</p>
|
||
<p>[DisplayName(“Server Name”)]<br />
|
||
public string ServerName<br />
|
||
{<br />
|
||
get;<br />
|
||
set;<br />
|
||
}</p>
|
||
<p>[DisplayName(“Status”)]<br />
|
||
public int ServerStatus<br />
|
||
{<br />
|
||
get;<br />
|
||
set;<br />
|
||
}</p>
|
||
<p>…<br />
|
||
[/csharp]</p>
|
||
<p><strong>Visual Basic</strong></p>
|
||
<p>[vb gutter=”false” toolbar=”false”]<br />
|
||
…</p>
|
||
<p><DisplayName("Server Name")> _<br />
|
||
Public Property ServerName() As String<br />
|
||
Get<br />
|
||
Return m_ServerName<br />
|
||
End Get<br />
|
||
Set<br />
|
||
m_ServerName = Value<br />
|
||
End Set<br />
|
||
End Property</p>
|
||
<p><DisplayName("Status")> _<br />
|
||
Public Property ServerStatus() As Integer<br />
|
||
Get<br />
|
||
Return m_ServerStatus<br />
|
||
End Get<br />
|
||
Set<br />
|
||
m_ServerStatus = Value<br />
|
||
End Set<br />
|
||
End Property</p>
|
||
<p>…<br />
|
||
[/vb]</p>
|
||
<p>Now the column names are more user friendly:</p>
|
||
<div id="attachment_852" style="width: 270px" class="wp-caption aligncenter"><a href="wp-content/uploads/2013/01/screen-blv-binding2.png"><img class="size-full wp-image-852" title="Better ListView with bound list" src="wp-content/uploads/2013/01/screen-blv-binding2.png" alt="Better ListView with bound list" width="260" height="173" /></a><p class="wp-caption-text">Better ListView with bound list</p></div>
|
||
<p>We will finally add state images (instead of the numbers) and highlight some items. To do that, we have to override <strong>DataCreateItem</strong> method in a class derived from <strong>BetterListView</strong>:</p>
|
||
<p><strong>C#</strong></p>
|
||
<p>[csharp gutter=”false” toolbar=”false”]<br />
|
||
public class CustomListView : BetterListView<br />
|
||
{<br />
|
||
protected override BetterListViewItem DataCreateItem(<br />
|
||
CurrencyManager currentDataManager,<br />
|
||
BindingMemberInfo[] currentDisplayMembers,<br />
|
||
int index)<br />
|
||
{<br />
|
||
// create item using the base implementation<br />
|
||
BetterListViewItem item = base.DataCreateItem(<br />
|
||
currentDataManager,<br />
|
||
currentDisplayMembers,<br />
|
||
index);</p>
|
||
<p> // get server status from the current Server object<br />
|
||
int serverStatus = ((Server)currentDataManager.List[index]).ServerStatus;</p>
|
||
<p> if (serverStatus == 0)<br />
|
||
{<br />
|
||
// bold item when server status is 0<br />
|
||
item.IsBold = true;<br />
|
||
}</p>
|
||
<p> // get sub-item corresponding to server status<br />
|
||
BetterListViewSubItem subItemStatus = item.SubItems[1];</p>
|
||
<p> subItemStatus.ImageIndex = serverStatus; // set image for the sub-item<br />
|
||
subItemStatus.Text = “”; // clear sub-item text</p>
|
||
<p> return item;<br />
|
||
}<br />
|
||
}<br />
|
||
[/csharp]</p>
|
||
<p><strong>Visual Basic</strong></p>
|
||
<p>[vb gutter=”false” toolbar=”false”]<br />
|
||
Public Class CustomListView<br />
|
||
Inherits BetterListView</p>
|
||
<p> Protected Overrides Function DataCreateItem(currentDataManager As CurrencyManager, currentDisplayMembers As BindingMemberInfo(), index As Integer) As BetterListViewItem</p>
|
||
<p> ‘ create item using the base implementation<br />
|
||
Dim item As BetterListViewItem = MyBase.DataCreateItem(currentDataManager, currentDisplayMembers, index)</p>
|
||
<p> ‘ get server status from the current Server object<br />
|
||
Dim serverStatus As Integer = DirectCast(currentDataManager.List(index), Server).ServerStatus</p>
|
||
<p> If serverStatus = 0 Then<br />
|
||
‘ bold item when server status is 0<br />
|
||
item.IsBold = True<br />
|
||
End If</p>
|
||
<p> ‘ get sub-item corresponding to server status<br />
|
||
Dim subItemStatus As BetterListViewSubItem = item.SubItems(1)</p>
|
||
<p> subItemStatus.ImageIndex = serverStatus<br />
|
||
‘ set image for the sub-item<br />
|
||
subItemStatus.Text = “”<br />
|
||
‘ clear sub-item text<br />
|
||
Return item</p>
|
||
<p> End Function</p>
|
||
<p>End Class<br />
|
||
[/vb]</p>
|
||
<p>Now the control displays adjusted images and a highlighted item:</p>
|
||
<div id="attachment_853" style="width: 270px" class="wp-caption aligncenter"><a href="wp-content/uploads/2013/01/screen-blv-binding3.png"><img class="size-full wp-image-853" title="Better ListView with bound list" src="wp-content/uploads/2013/01/screen-blv-binding3.png" alt="Better ListView with bound list" width="260" height="222" /></a><p class="wp-caption-text">Better ListView with bound list</p></div>
|
||
<p>Note that you can customize data binding the other way as well by overriding the <strong>DataUpdateSubItemToSource</strong> method. This method is responsible for updating the bound data source when item/sub-item value have been modified.</p>
|
||
|
||
</div>
|
||
|
||
|
||
<div class="postinfobar">
|
||
<span class="tags">Tags: <a href="tag/better-listview-2/index.html" rel="tag">better listview</a>, <a href="tag/bind/index.html" rel="tag">bind</a>, <a href="tag/binding/index.html" rel="tag">binding</a>, <a href="tag/bound/index.html" rel="tag">bound</a>, <a href="tag/data/index.html" rel="tag">data</a>, <a href="tag/databinding/index.html" rel="tag">databinding</a>, <a href="tag/databound/index.html" rel="tag">databound</a>, <a href="tag/icon/index.html" rel="tag">icon</a>, <a href="tag/icons/index.html" rel="tag">icons</a>, <a href="tag/imagekey/index.html" rel="tag">imagekey</a>, <a href="tag/imagelist/index.html" rel="tag">imagelist</a>, <a href="tag/images/index.html" rel="tag">images</a> </span>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
<!-- You can start editing here. -->
|
||
|
||
|
||
<!-- If comments are open, but there are no comments. -->
|
||
|
||
|
||
|
||
|
||
<div id="respond">
|
||
|
||
<h3>Leave a Reply</h3>
|
||
|
||
<div class="cancel-comment-reply">
|
||
<small><a rel="nofollow" id="cancel-comment-reply-link" href="index.html%3Fp=850.html#respond" style="display:none;">Click here to cancel reply.</a></small>
|
||
</div>
|
||
|
||
|
||
<form action="http://www.componentowl.com/blog/wp-comments-post.php" method="post" id="commentform">
|
||
|
||
|
||
<p><input type="text" name="author" id="author" value="" size="22" tabindex="1" aria-required='true' />
|
||
<label for="author"><small>Name (required)</small></label></p>
|
||
|
||
<p><input type="text" name="email" id="email" value="" size="22" tabindex="2" aria-required='true' />
|
||
<label for="email"><small>Mail (will not be published) (required)</small></label></p>
|
||
|
||
<p><input type="text" name="url" id="url" value="" size="22" tabindex="3" />
|
||
<label for="url"><small>Website</small></label></p>
|
||
|
||
|
||
<!--<p><small><strong>XHTML:</strong> You can use these tags: <code><a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> </code></small></p>-->
|
||
|
||
<p><textarea name="comment" id="comment" cols="58" rows="10" tabindex="4"></textarea></p>
|
||
|
||
<p><input name="submit" type="submit" id="submit" tabindex="5" value="Submit Comment" />
|
||
<input type='hidden' name='comment_post_ID' value='850' id='comment_post_ID' />
|
||
<input type='hidden' name='comment_parent' id='comment_parent' value='0' />
|
||
</p>
|
||
<p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="db83e002d6" /></p><p style="display: none;"><input type="hidden" id="ak_js" name="ak_js" value="102"/></p>
|
||
</form>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
</div>
|
||
|
||
<div class="d-sidebar">
|
||
|
||
<div class="dextronet-feeds">
|
||
<ul class="links">
|
||
<li><a href="feed/index.html" class="rss">Subscribe to our RSS</a></li>
|
||
<li><a href="http://twitter.com/ComponentOwl" class="twitter">Follow us on twitter</a></li>
|
||
<li><a href="http://facebook.com/ComponentOwl" class="facebook">Follow us on Facebook</a></li>
|
||
</ul>
|
||
</div>
|
||
|
||
<form role="search" method="get" id="searchform-sidebar" action="../blog.html" >
|
||
<div><label class="screen-reader-text" for="s-sidebar">Search for:</label>
|
||
<input type="text" value="Search..." name="s" id="s-sidebar" class="search inline-label" />
|
||
<input type="image" id="searchsubmit-sidebar" src="wp-content/themes/componentowl/images/search.gif" value="Search" />
|
||
</div>
|
||
</form>
|
||
|
||
<div id="sidebar" role="complementary">
|
||
<ul>
|
||
<li id="categories-3" class="widget widget_categories"><h2 class="widgettitle">Categories</h2> <ul>
|
||
<li class="cat-item cat-item-3"><a href="category/announcements/index.html" >Announcements</a> (8)
|
||
</li>
|
||
<li class="cat-item cat-item-21"><a href="category/better-listview/index.html" >Better ListView</a> (44)
|
||
</li>
|
||
<li class="cat-item cat-item-4"><a href="category/components/index.html" >Components</a> (9)
|
||
</li>
|
||
<li class="cat-item cat-item-222"><a href="category/programming/index.html" >Programming</a> (2)
|
||
</li>
|
||
<li class="cat-item cat-item-13"><a href="category/tutorials/index.html" >Tutorials</a> (19)
|
||
</li>
|
||
</ul>
|
||
</li><li id="archives-3" class="widget widget_archive"><h2 class="widgettitle">Archives</h2> <ul>
|
||
<li><a href='2017/03/index.html'>March 2017</a></li>
|
||
<li><a href='2017/02/index.html'>February 2017</a></li>
|
||
<li><a href='2016/11/index.html'>November 2016</a></li>
|
||
<li><a href='2014/08/index.html'>August 2014</a></li>
|
||
<li><a href='2014/07/index.html'>July 2014</a></li>
|
||
<li><a href='2014/04/index.html'>April 2014</a></li>
|
||
<li><a href='2014/02/index.html'>February 2014</a></li>
|
||
<li><a href='2013/03/index.html'>March 2013</a></li>
|
||
<li><a href='2013/02/index.html'>February 2013</a></li>
|
||
<li><a href='2013/01/index.html'>January 2013</a></li>
|
||
<li><a href='2012/12/index.html'>December 2012</a></li>
|
||
<li><a href='2012/09/index.html'>September 2012</a></li>
|
||
<li><a href='2012/08/index.html'>August 2012</a></li>
|
||
<li><a href='2012/04/index.html'>April 2012</a></li>
|
||
<li><a href='2012/03/index.html'>March 2012</a></li>
|
||
<li><a href='2012/02/index.html'>February 2012</a></li>
|
||
<li><a href='2012/01/index.html'>January 2012</a></li>
|
||
<li><a href='2011/12/index.html'>December 2011</a></li>
|
||
<li><a href='2011/11/index.html'>November 2011</a></li>
|
||
<li><a href='2011/10/index.html'>October 2011</a></li>
|
||
<li><a href='2011/09/index.html'>September 2011</a></li>
|
||
<li><a href='2011/08/index.html'>August 2011</a></li>
|
||
<li><a href='2011/07/index.html'>July 2011</a></li>
|
||
<li><a href='2011/06/index.html'>June 2011</a></li>
|
||
<li><a href='2011/05/index.html'>May 2011</a></li>
|
||
<li><a href='2011/03/index.html'>March 2011</a></li>
|
||
<li><a href='2011/02/index.html'>February 2011</a></li>
|
||
<li><a href='2011/01/index.html'>January 2011</a></li>
|
||
</ul>
|
||
</li><li id="tag_cloud-3" class="widget widget_tag_cloud"><h2 class="widgettitle">Tags</h2><div class="tagcloud"><a href="tag/align/index.html" class="tag-cloud-link tag-link-256 tag-link-position-1" style="font-size: 8pt;" aria-label="align (2 items)">align</a>
|
||
<a href="tag/better/index.html" class="tag-cloud-link tag-link-71 tag-link-position-2" style="font-size: 14.326923076923pt;" aria-label="better (8 items)">better</a>
|
||
<a href="tag/better-listview-2/index.html" class="tag-cloud-link tag-link-31 tag-link-position-3" style="font-size: 22pt;" aria-label="better listview (32 items)">better listview</a>
|
||
<a href="tag/bound/index.html" class="tag-cloud-link tag-link-85 tag-link-position-4" style="font-size: 8pt;" aria-label="bound (2 items)">bound</a>
|
||
<a href="tag/child-items-in-listview/index.html" class="tag-cloud-link tag-link-57 tag-link-position-5" style="font-size: 8pt;" aria-label="child items in listview (2 items)">child items in listview</a>
|
||
<a href="tag/column/index.html" class="tag-cloud-link tag-link-89 tag-link-position-6" style="font-size: 10.961538461538pt;" aria-label="column (4 items)">column</a>
|
||
<a href="tag/coming-soon/index.html" class="tag-cloud-link tag-link-52 tag-link-position-7" style="font-size: 8pt;" aria-label="coming soon (2 items)">coming soon</a>
|
||
<a href="tag/custom/index.html" class="tag-cloud-link tag-link-12 tag-link-position-8" style="font-size: 15pt;" aria-label="custom (9 items)">custom</a>
|
||
<a href="tag/data/index.html" class="tag-cloud-link tag-link-84 tag-link-position-9" style="font-size: 8pt;" aria-label="data (2 items)">data</a>
|
||
<a href="tag/databinding/index.html" class="tag-cloud-link tag-link-83 tag-link-position-10" style="font-size: 8pt;" aria-label="databinding (2 items)">databinding</a>
|
||
<a href="tag/drawing/index.html" class="tag-cloud-link tag-link-161 tag-link-position-11" style="font-size: 10.961538461538pt;" aria-label="drawing (4 items)">drawing</a>
|
||
<a href="tag/drawn/index.html" class="tag-cloud-link tag-link-270 tag-link-position-12" style="font-size: 9.6153846153846pt;" aria-label="drawn (3 items)">drawn</a>
|
||
<a href="tag/explorer/index.html" class="tag-cloud-link tag-link-30 tag-link-position-13" style="font-size: 9.6153846153846pt;" aria-label="explorer (3 items)">explorer</a>
|
||
<a href="tag/groups/index.html" class="tag-cloud-link tag-link-22 tag-link-position-14" style="font-size: 10.961538461538pt;" aria-label="groups (4 items)">groups</a>
|
||
<a href="tag/header/index.html" class="tag-cloud-link tag-link-134 tag-link-position-15" style="font-size: 9.6153846153846pt;" aria-label="header (3 items)">header</a>
|
||
<a href="tag/hide/index.html" class="tag-cloud-link tag-link-88 tag-link-position-16" style="font-size: 10.961538461538pt;" aria-label="hide (4 items)">hide</a>
|
||
<a href="tag/hiding/index.html" class="tag-cloud-link tag-link-90 tag-link-position-17" style="font-size: 9.6153846153846pt;" aria-label="hiding (3 items)">hiding</a>
|
||
<a href="tag/hierarchy/index.html" class="tag-cloud-link tag-link-24 tag-link-position-18" style="font-size: 8pt;" aria-label="hierarchy (2 items)">hierarchy</a>
|
||
<a href="tag/hot/index.html" class="tag-cloud-link tag-link-106 tag-link-position-19" style="font-size: 9.6153846153846pt;" aria-label="hot (3 items)">hot</a>
|
||
<a href="tag/image/index.html" class="tag-cloud-link tag-link-277 tag-link-position-20" style="font-size: 8pt;" aria-label="image (2 items)">image</a>
|
||
<a href="tag/images/index.html" class="tag-cloud-link tag-link-7 tag-link-position-21" style="font-size: 9.6153846153846pt;" aria-label="images (3 items)">images</a>
|
||
<a href="tag/item/index.html" class="tag-cloud-link tag-link-23 tag-link-position-22" style="font-size: 10.961538461538pt;" aria-label="item (4 items)">item</a>
|
||
<a href="tag/item-hierarchy/index.html" class="tag-cloud-link tag-link-55 tag-link-position-23" style="font-size: 8pt;" aria-label="item hierarchy (2 items)">item hierarchy</a>
|
||
<a href="tag/items/index.html" class="tag-cloud-link tag-link-107 tag-link-position-24" style="font-size: 17.423076923077pt;" aria-label="items (14 items)">items</a>
|
||
<a href="tag/listview/index.html" class="tag-cloud-link tag-link-5 tag-link-position-25" style="font-size: 16.076923076923pt;" aria-label="listview (11 items)">listview</a>
|
||
<a href="tag/load/index.html" class="tag-cloud-link tag-link-261 tag-link-position-26" style="font-size: 8pt;" aria-label="load (2 items)">load</a>
|
||
<a href="tag/mouse/index.html" class="tag-cloud-link tag-link-41 tag-link-position-27" style="font-size: 8pt;" aria-label="mouse (2 items)">mouse</a>
|
||
<a href="tag/multi-line/index.html" class="tag-cloud-link tag-link-82 tag-link-position-28" style="font-size: 8pt;" aria-label="multi-line (2 items)">multi-line</a>
|
||
<a href="tag/multiline/index.html" class="tag-cloud-link tag-link-81 tag-link-position-29" style="font-size: 9.6153846153846pt;" aria-label="multiline (3 items)">multiline</a>
|
||
<a href="tag/owner/index.html" class="tag-cloud-link tag-link-104 tag-link-position-30" style="font-size: 12.038461538462pt;" aria-label="owner (5 items)">owner</a>
|
||
<a href="tag/ownerdrawn/index.html" class="tag-cloud-link tag-link-273 tag-link-position-31" style="font-size: 8pt;" aria-label="ownerdrawn (2 items)">ownerdrawn</a>
|
||
<a href="tag/padding/index.html" class="tag-cloud-link tag-link-19 tag-link-position-32" style="font-size: 8pt;" aria-label="padding (2 items)">padding</a>
|
||
<a href="tag/progress/index.html" class="tag-cloud-link tag-link-37 tag-link-position-33" style="font-size: 8pt;" aria-label="progress (2 items)">progress</a>
|
||
<a href="tag/space/index.html" class="tag-cloud-link tag-link-240 tag-link-position-34" style="font-size: 9.6153846153846pt;" aria-label="space (3 items)">space</a>
|
||
<a href="tag/spacing/index.html" class="tag-cloud-link tag-link-20 tag-link-position-35" style="font-size: 8pt;" aria-label="spacing (2 items)">spacing</a>
|
||
<a href="tag/sub-item/index.html" class="tag-cloud-link tag-link-113 tag-link-position-36" style="font-size: 10.961538461538pt;" aria-label="sub-item (4 items)">sub-item</a>
|
||
<a href="tag/sub-items/index.html" class="tag-cloud-link tag-link-265 tag-link-position-37" style="font-size: 8pt;" aria-label="sub-items (2 items)">sub-items</a>
|
||
<a href="tag/subitem/index.html" class="tag-cloud-link tag-link-258 tag-link-position-38" style="font-size: 9.6153846153846pt;" aria-label="subitem (3 items)">subitem</a>
|
||
<a href="tag/subitems/index.html" class="tag-cloud-link tag-link-266 tag-link-position-39" style="font-size: 9.6153846153846pt;" aria-label="subitems (3 items)">subitems</a>
|
||
<a href="tag/thumbnails/index.html" class="tag-cloud-link tag-link-6 tag-link-position-40" style="font-size: 8pt;" aria-label="thumbnails (2 items)">thumbnails</a>
|
||
<a href="tag/tree/index.html" class="tag-cloud-link tag-link-80 tag-link-position-41" style="font-size: 8pt;" aria-label="tree (2 items)">tree</a>
|
||
<a href="tag/update/index.html" class="tag-cloud-link tag-link-36 tag-link-position-42" style="font-size: 8pt;" aria-label="update (2 items)">update</a>
|
||
<a href="tag/whats-new/index.html" class="tag-cloud-link tag-link-32 tag-link-position-43" style="font-size: 8pt;" aria-label="what's new (2 items)">what's new</a>
|
||
<a href="tag/working-on/index.html" class="tag-cloud-link tag-link-38 tag-link-position-44" style="font-size: 8pt;" aria-label="working on (2 items)">working on</a>
|
||
<a href="tag/xp/index.html" class="tag-cloud-link tag-link-29 tag-link-position-45" style="font-size: 8pt;" aria-label="xp (2 items)">xp</a></div>
|
||
</li> </ul>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<script type='text/javascript' src='wp-includes/js/comment-reply.min.js%3Fver=4.9.8'></script>
|
||
<script type='text/javascript' src='wp-includes/js/wp-embed.min.js%3Fver=4.9.8'></script>
|
||
<script async="async" type='text/javascript' src='wp-content/plugins/akismet/_inc/form.js%3Fver=4.0.8'></script>
|
||
|
||
</div>
|
||
|
||
|
||
</body>
|
||
</html>
|
||
|
||
<!--
|
||
Performance optimized by W3 Total Cache. Learn more: https://www.w3-edge.com/products/
|
||
|
||
Content Delivery Network via Amazon Web Services: S3: www.componentowl.com
|
||
|
||
Served from: www.componentowl.com @ 2018-09-08 11:39:07 by W3 Total Cache
|
||
--> |