Wednesday, May 23, 2012

Sort Observable Collection object

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

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..
Code:
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"/>  
  </StackPanel>  
The mapGrid datagrid is added to the stackpanel. And the Rectangle object is the sizing element.I found the solution from this site:
http://stackoverflow.com/questions/7254362/scrollviewer-slow-perfomance-with-datagrid

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.
Code:
BrushConverter bc = new BrushConverter();   
Brush brush;   
brush = (Brush)bc.ConvertFrom("#003F87");   
notes.SetValue(TextBlock.BackgroundProperty, brush);
Original Source: http://jammer.biz/blog2/?p=169
Greg

Wednesday, May 9, 2012

Access Datagrid Row in WPF through index


This is just a repost from this site: Accessing DataGridRow
Code:
  DataGridRow dgr = (DataGridRow)dataGrid1.ItemContainerGenerator.ContainerFromIndex(nRowIndex);  
  if (dgr == null) // row might be invisible (top / bottom). So, scroll into the view and get it  
  {  
    dataGrid1.UpdateLayout();  
    dataGrid1.ScrollIntoView(dataGrid1.Items[nRowIndex]);  
    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
Code:
  var row = GetDataGridRows(dgScripts);  
  foreach (DataGridRow r in row)  
  {  
     CScriptsInfo info = (CScriptsInfo)r.Item;  
     if(info.prog_name.ToString().Contains(txtScriptName.Text.Trim().ToUpper()))  
     {  
        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;