I am trying to use the RadCalendar (for WPF) to display multiple months and shade (color background) school and public holidays. Some questions:
1. Using custom IValueConverters or creating a StyleSelector seems to let me affect the CalendarButtonContent Properties or Style (respectively), but only Font Size/Weight and not Background/Border. Is this because these are CalendarButton properties? What is the simplest way to set the background of all the holiday dates?
2. In the IValueConverter or StyleSelector I have to manually 'range check' each Date. Is there a way to DataBind to this control (a collection of DateTime)? When people use the 'selection' ability to add a new holiday date/range, I want to just update the underlying collection and have that selection now 'background colored'.
3. I have set the following properties (expecting the calendar to show the entire "year" of 2008 from January to December)... but it always starts with August (the current month) in the top-left rather than January.
SelectableDateStart="2008-01-01"Tia...
SelectableDateEnd="2008-12-31"
DisplayDateStart="2008-01-01"
DisplayDateEnd="2008-12-31"
SelectedDate="2008-01-01"
Rows="4"
Columns="3"
public
Window1()
{
myAccess =
new DOAccess();
mySet =
new DataSet();
InitializeComponent();
mySet = myAccess.GetForecastData(mySet, 200802, 0, 0, 0);
mySet.Relations.Add(
"Item", mySet.Tables[0].Columns["forecast_rollup_id"],
mySet.Tables[1].Columns[
"forecast_rollup_id"]);
mySet.Relations.Add(
"Detail", mySet.Tables[1].Columns["forecast_item_id"],
mySet.Tables[2].Columns[
"forecast_item_id"]);
this
.radGridViewCustomHierarchy.DataMember = mySet.Tables[0].TableName;
this.radGridViewCustomHierarchy.ItemsSource = mySet;
}
The thing is that some columns coming from the DataSet were labeled such as "forecast_rollup_id" and I want to change the name of the actual column in the actual grid to something like "Main Item Number" (something more user-friendly). Since I am using a DataSet and I am loading information to the RadDataGrid dynamically, I am not sure how I can change the column name because when I try to get access to the columns property, I get a count value = 0 (So int columns = this.radGridViewCustomHierarchy.Columns.Count; returns zero) therefore I cannot simply do something like this: this.radGridViewCustomHierarchy.Columns["forecast_rollup_id"].HeaderText = "Main Item #"; because I get a xaml error. Furthermore, I may need to rename some columns that contain dynamic values (Thus, I cannot use alies for columns in SQL). A column may be called 200801 which needs to be renamed "Q1 2008" (Quarter One of 2008) in the grid itself. Could you please let me know how I can accomplish this change in naming to columns that were originally populated from a DataSet?
'-17' is not a valid value for property 'ViewportSize'. |
at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, OperationType operationType, Boolean isInternal) |
at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value) |
at System.Windows.Controls.Primitives.ScrollBar.set_ViewportSize(Double value) |
at Telerik.Windows.Controls.GridView.ScrollBarStateController.UpdateScrollBar(ScrollBar scrollBar, ScrollBarProperties properties) in c:\Builds\WPF_Scrum\GridView_WPF_2009_Q2_SP1\Sources\Development\Controls\GridView\GridView\GridView\Virtualization\ScrollBarStateController.cs:line 60 |
at Telerik.Windows.Controls.GridView.GridViewScrollViewer.UpdateScrollBars() in c:\Builds\WPF_Scrum\GridView_WPF_2009_Q2_SP1\Sources\Development\Controls\GridView\GridView\GridView\Virtualization\GridViewScrollViewer.cs:line 503 |
at Telerik.Windows.Controls.GridView.GridViewScrollViewer.GridViewScrollViewer_LayoutUpdated(Object sender, EventArgs e) in c:\Builds\WPF_Scrum\GridView_WPF_2009_Q2_SP1\Sources\Development\Controls\GridView\GridView\GridView\Virtualization\GridViewScrollViewer.cs:line 534 |
at System.Windows.ContextLayoutManager.fireLayoutUpdateEvent() |
at System.Windows.ContextLayoutManager.UpdateLayout() |
at System.Windows.UIElement.UpdateLayout() |
at System.Windows.Interop.HwndSource.SetLayoutSize() |
at System.Windows.Interop.HwndSource.set_RootVisualInternal(Visual value) |
at System.Windows.Interop.HwndSource.set_RootVisual(Visual value) |
at MS.Internal.Designer.DocumentOutline.ContentHolder.Initialize() |
at MS.Internal.Designer.DocumentOutline.Intitalize() |
at MS.Internal.Designer.DocumentOutline.get_ContentHolderControl() |
at MS.Internal.Designer.DocumentOutline.get_Handle() |
at MS.Internal.Designer.VSIsolatedViewFactory.VSIsolatedView.get_ViewHandle() |
at MS.Internal.Host.Isolation.IsolatedView.get_ViewHandle() |
at MS.Internal.Host.Isolation.IsolatedViewHolder.SetContent(IsolatedView view) |
at MS.Internal.Designer.DesignerPane.AttachDocumentOutline() |
at MS.Internal.Designer.DesignerPane.LoadDesignerView() |
public ICommand TabSelectionChangedCommand { get; private set; } |
TabSelectionChangedCommand = new DelegateCommand<object>(param => |
{ |
SelectionChanged(param); |
}); |
private void SelectionChanged(object obj) |
{ stuff } |
private void radTabControl1_SelectionChanged(object sender, System.Windows.RoutedEventArgs e) |
{ |
FrameworkElement fe = (FrameworkElement)sender; |
MyViewModel mvm = (MyViewModel) ((ObjectDataProvider)fe.DataContext).ObjectInstance; |
if (mvm != null) |
{ |
mvm.TabSelectionChangedCommand.Execute(sender); |
} |
} |
|
Dim dsBudget As New BudgetDataSet |
Dim taDetails As New BudgetDataSetTableAdapters.DetailsTableAdapter |
taDetails.Fill(dsBudget.Details) |
RadGridView1.ItemsSource = dsBudget.Details.DefaultView |
<Grid> |
<Grid:RadGridView Name="RadGridView1" |
AutoGenerateColumns="False" > |
<Grid:RadGridView.Columns> |
<Grid:GridViewDataColumn HeaderText="Category" |
DataMemberBinding="{Binding Path=Category}" > |
</Grid:GridViewDataColumn> |
<Grid:GridViewDataColumn HeaderText="Company" |
DataMemberBinding="{Binding Path=Company}" > |
</Grid:GridViewDataColumn> |
<Grid:GridViewDataColumn HeaderText="Amount" |
DataMemberBinding="{Binding Path=Amount}" |
DataFormatString="{}{0:f2}" > |
</Grid:GridViewDataColumn> |
<Grid:GridViewDataColumn HeaderText="Description" |
DataMemberPath="Description" > |
</Grid:GridViewDataColumn> |
</Grid:RadGridView.Columns> |
</Grid:RadGridView> |
</Grid> |
Any insight will be greatly appreciated.
Thanks, Dan