MS
Mohamed Suhaib Fahad A.
Syncfusion Team
November 9, 2009 06:28 AM UTC
Hi,
We found one small bug with the DataTemplate renderer, this is fixed now in our latest trunk. The sample below includes the fix that allows using binding code in DataTemplates,
http://www.syncfusion.com/uploads/redirect.aspx?file=binding_template_497816cc.zip&team=developmentThe binding code is as follows,
The CellBoundValue is a wrapper instance that associates the underlying object and the grid style object. Let me know if this helps.
Thanks,
Fahad
Grid.Silverlight TeamSyncfusion Inc.,
AD
Administrator
Syncfusion Team
November 9, 2009 05:35 PM UTC
Thanks for your reply. I will try the same. Could you please provide some samples on changing control template of the row using styles?
I tried it but I was having problem in Setting the target type.
MS
Mohamed Suhaib Fahad A.
Syncfusion Team
November 10, 2009 04:51 AM UTC
Hi,
Thanks for the details. Right now, we don't have a row container kind of arrangement with the cells, So specifying styles for each row is not possible. We have this added in our log, and would work this out in our future releases.
You could however, try out using the Model.QueryCellInfo instead and design each cell.
Please let me know if this helps.
Thanks,
Fahad
SC
Sanjay Choudhri
November 20, 2009 10:14 PM UTC
I want to add an unbound column to the grid and set the value of this column in code behind on QueryCellInfo event.
When I try to use:
this.grid.Model.Table.SetValue(e.Cell.RowIndex, "<>", <>);
It returns Expression has been evaluated and has no value.
I am using MappingName property in xaml to give the column name.
Second question: What is the recommended way to show data in columns if we want to use converters to show the data?
For e.g.: The grid is bound to the list of employees. The employee object has a managerId property. I want to display the name of the manager in one column and designation of the manager in the second column.
In this case, I want to use a converter to take the id and return value in column 1 and column 2.
I was able to do this by keeping the MappingName same for both columns and use Binding to call converters to return name and designation.
Is this correct?
If the MappingName is same, how can I group the data by using the above two columns? What should be the column names?
SC
Sanjay Choudhri
November 21, 2009 12:00 AM UTC
Hi,
I verified that if converters are used for a gridviewcolumn, that column cannot be used for grouping. Is that correct?
What is the purpose of Converter in defining grouped column using GridDataGroupColumn?
SC
Sanjay Choudhri
November 25, 2009 05:44 PM UTC
Hi,
Haven't received a reply from Syncfusion on my recent questions. Your reply is critical for us to progress with our prototype using Syncfusion grid.
MS
Mohamed Suhaib Fahad A.
Syncfusion Team
November 25, 2009 06:01 PM UTC
Hi,
We are sorry for the delay on this, I have a sample prepared that uses Model.QueryUnboundColumnValue to populate the unbound cells,
http://www.syncfusion.com/uploads/redirect.aspx?&team=support&file=CS-1453531591.zipRegarding to the complex property binding + Grouping, we haven't completely ported the support for Grouping + Converters, this feature will be added up in our future releases. As of now, we don't have immediate plans on this.
Also, You could create a direct trac incident for quick follow ups. Please let me know if you need any more details.
Thanks,
Fahad
SC
Sanjay Choudhri
November 25, 2009 06:58 PM UTC
Thanks.
I will try your solution in few minutes.
Can you please provide a quick reply on: Is there any way to change the style/look of the group header such that I can hide the +, - buttons, change the text on grouped row and make it center aligned?
Also how to change the fontsize of the grid. I tried changing the font size on the grid but it didn't change.
MS
Mohamed Suhaib Fahad A.
Syncfusion Team
November 25, 2009 08:14 PM UTC
Hi,
Yes, you can customize the each cell that is presented in the Grid. Use the QueryCellInfo event as follows,
model.QueryCellInfo += (s, e) =>
{
var gridStyleInfo = e.Style as GridDataStyleInfo;
var tableStyleInfoIdentity = gridStyleInfo.CellIdentity;
if (tableStyleInfoIdentity.TableCellType == GridDataTableCellType.GroupCaptionPlusMinusCell)
{
// user modified code here
}
e.Style.CellValue = string.Format("Cell {0} / {1}", e.Cell.RowIndex, e.Cell.ColumnIndex);
};
Like so we have different TableCellType enum values that you can check out and make changes to each cell style. This would be the most optimal way to deal with cell based styling.
To change the FontSize, right now we don't have the default binding done, but you can use the QueryBaseStyles,
this.dataGrid.Model.QueryBaseStyles += new GridQueryBaseStylesEventHandler(Model_QueryBaseStyles);
void Model_QueryBaseStyles(object sender, GridQueryBaseStylesEventArgs e)
{
if (e.Cell.RowIndex >= this.dataGrid.Model.HeaderRows && e.Cell.ColumnIndex >= this.dataGrid.Model.HeaderColumns)
{
e.BaseStyles.Add(new GridStyleInfo() { Font = new GridFontInfo() { FontFamily = new FontFamily("Calibri"), FontSize = 14d }, VerticalAlignment = VerticalAlignment.Center });
e.Handled = true;
}
}
Please let me know if you need any more details.
Thanks,
Fahad