I'm using the transitions in order to animate my RadHtmlChart. However, I'm also using the client side getSVGString() to facilitate allowing the user to download an image of the chart. I convert the svg string to png on the server and push back to client. All of this is working EXCEPT, occasionally the getSVGString() is called before the animation has completed.
In order to work around the issue, I'm doing the following:
function setSvgContent<%=Me.ClientID%>() {
setTimeout(function () {
var chartRendering = $find("<%=radChart.ClientID%>");
if (chartRendering != null) {
$get("<%=svgHolder.ClientID%>").value = escape(chartRendering.getSVGString());
}
}, 2000);
}
I'm not fond of using a setTimeout and I'd prefer to call the getSVGString() after the animation has completed.
Is there a way to determine when the RadHtmlChart animation has completed??
Thanks!
I am currently successfully compressing the server responses to HTTP requests for both regular requests and XMLHTTPRequests.
Unfortunately, some of my users are experiencing the following (per browser's debugging tools):
- The Request Header specifies its content-length at over three million bytes
- The Form Data section of the Request does in fact contain the key "__VIEWSTATE", whose value is 3MB (corroborating the Request Header size)
- The Request Sent time is over a minute, because the upload speed is abysmal.
So, I'm interested in compressing the view state specifically for XMLHTTPRequests, with the expectation that this will behave better with the user's upload speeds. I've attempted to use the RadCompression module to do this, and have been unsuccessful, which leads me to my question here:
How can I compress the Request Header of an AJAX request (containing the view state)?
I have been utilizing the asp:gridview and use this syntax to determine which columns to hide:
private int GetColumnIndex(GridView grid, string ColName)
{
foreach (DataControlField col in grid.Columns)
{
if (col.HeaderText.ToLower().Trim() == ColName.ToLower().Trim())
{
return grid.Columns.IndexOf(col);
}
}
return -1;
}
Now when converting to radgrid I get the error of
'Unable to cast object of type 'Telerik.Web.UI.GridBoundColumn' to type 'System.Web.UI.WebControls.DataControlField'.'
With the below syntax:
private int GetColumnIndexRad(Telerik.Web.UI.RadGrid grid, string colName)
{
foreach (DataControlField col in grid.Columns)
{
if (col.HeaderText.ToLower().Trim() == colName.ToLower().Trim())
{
return grid.Columns.IndexOf(col);
}
}
return -1;
}
What would be the proper way to conditionally hide columns based off a check box list selection?

Hello,
We upgraded our controls and now our toolbar buttons are moved to a drop down button to the right. There is plenty of room for our buttons, but they still go into the menu. I've attached a screenshot.


The drop down list is populated with values, but when they are selected nothing happens to the table.
I am trying to iterate through the column, get the distinct values and add them to a filter.
It works when i Add a new asp:SqlDataSource with a distinct sql statement, then add datasourceID, datavalue and datatext to the ComboBox, but need to get this working programmatically.
Column:
<telerik:GridBoundColumn DataField="OperationalTypeName" HeaderText="OperationalTypeName" SortExpression="OperationalTypeName">
<FilterTemplate>
<telerik:RadComboBox ID="operationtypeComboBox" runat="server" RenderMode="Lightweight"
SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("OperationalTypeName").CurrentFilterValue %>'
OnClientSelectedIndexChanged="OpertationalTypeIndexChanged">
</telerik:RadComboBox>
<telerik:RadScriptBlock runat="server">
<script type="text/javascript">
function OpertationalTypeIndexChanged(sender, args) {
var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");
tableView.filter("OperationalTypeName", args.get_item().get_value();, "EqualTo");
}
</script>
</telerik:RadScriptBlock>
</FilterTemplate>
</telerik:GridBoundColumn>
ItemDataBound:
protected void GridView1_ItemDataBound(object sender, GridItemEventArgs e)
{
if (e.Item is GridFilteringItem)
{
GridFilteringItem item = (GridFilteringItem)e.Item;
RadComboBox combo = (RadComboBox)item.FindControl("operationtypeComboBox");
//combo.Items.Add(new RadComboBoxItem("ALL"));
foreach (var filter in filterOperationalType())
//filterOperatiionType returns the correct list
{
combo.Items.Add(new RadComboBoxItem(filter, filter));
// they are added to the ComboBox but do not work, the html generated is exactly the same as the filter options that work through using DataSourceID used on the ComboBox.
}
}
}
private List<string> filterOperationalType()
{
DataView view = (DataView)this.SqlDataSource1.Select(DataSourceSelectArguments.Empty);
List<string> list = new List<string>();
foreach (DataRow item in view.Table.Rows)
{
list.Add(item.ItemArray[1].ToString());
}
var a = list.Distinct().ToList();
return a;
}
Thank you

In Chrome and IE the clicking of the SELECT button for the uploads is kinda difficult when using MATERIAL skin, see attached screenshot.
The cursor becomes caret when hovering the button's text and clicking it is not always working.
This not the case when we try the same at RadAsyncUpload itself so maybe something to do with IFRAME use?
Marc
