Wednesday, May 23, 2012

Sort Observable Collection object

scriptInfo.OrderBy(i => i.time_start);
Where time_start is a property of a strongly typed class.

Tuesday, May 22, 2012

WPF Scroll Viewer slow performance (Bind control height from another object using code)

In this post, I created a datagrid dynamically or from code. When a record is loaded, the scrolling is slow using Scrollviewer control. So to translate into code behind here's what i come up..
Binding bindHeight = new Binding();  
bindHeight.ElementName = String.Format("sizingElement{0}", index + 1);  
bindHeight.FallbackValue = 1;  
bindHeight.Path = new PropertyPath("ActualHeight");  
//mapGrid is the datagrid object  
mapGrid.SetBinding(DataGrid.HeightProperty, bindHeight); 
XAML Markup:
 <StackPanel x:Name="spThur" Height="Auto" Background="Green" HorizontalAlignment="Left" Orientation="Horizontal">  
      <Rectangle Name="sizingElement4" Fill="Transparent" Margin="1" Height="333"/>  
The mapGrid datagrid is added to the stackpanel. And the Rectangle object is the sizing element.I found the solution from this site:

Monday, May 21, 2012

WPF Set Color Value based from HEXA

Here's a snippet that passes a hexa color and set a wpf control object's background/foreground property.
BrushConverter bc = new BrushConverter();   
Brush brush;   
brush = (Brush)bc.ConvertFrom("#003F87");   
notes.SetValue(TextBlock.BackgroundProperty, brush);
Original Source:

Wednesday, May 9, 2012

Access Datagrid Row in WPF through index

This is just a repost from this site: Accessing DataGridRow
  DataGridRow dgr = (DataGridRow)dataGrid1.ItemContainerGenerator.ContainerFromIndex(nRowIndex);  
  if (dgr == null) // row might be invisible (top / bottom). So, scroll into the view and get it  
    dgr = (DataGridRow)dataGrid1.ItemContainerGenerator.ContainerFromIndex(nRowIndex);  
Thanks for the original contributor, this helped me a lot.

Tuesday, May 8, 2012

Loop Through Datagrid in WPF (ItemSource is type Observable Collection)

Assuming the databinding source of WPF Datagrid is of type ObservableCollection
  var row = GetDataGridRows(dgScripts);  
  foreach (DataGridRow r in row)  
     CScriptsInfo info = (CScriptsInfo)r.Item;  
        r.IsSelected = true;  

Sunday, May 6, 2012

Count Record in every hour of a given day (MySQL)

Here is a query to count records gathered in every hour of a given day. The date_visited is a 24 hour time format which is of timestamp data type. The idea came from a fellow developer..
1:  select  
2:       hour(time(date_visited)) as hour_of_day_24_hour_format,  
3:       count(hour(time(date_visited))) as count_per_hour from tblpropsale_v2  
4:    where date(date_visited) = '2012-05-07' and web_id = 642 and is_visited = 1  
5:       group by hour(time(date_visited)) order by hour(time(date_visited)) asc;