Telerik Forums
Kendo UI for jQuery Forum
1 answer
257 views
I was having a grid where there is a need to edit and delete rows.

Thankful for Kendo UI i got every configuration perfectly working for both update and delete operations. Yet both operations sync the data through the transport when i click on the save changes button on the toolbar. What i wanted was to do the sync when a delete button is clicked after the confirmation has displayed and the user made the decision to delete the row.

I have experimented with the remove event of the grid yet i discovered  that what ever code is put in that block it will be executed before the row is removed from the grid.

Any way that i can sync the datasource after a row is removed from a grid without having to click on the save changes button on the tool bar?

Regards, Mekbib A.

Mekdelawit
Top achievements
Rank 1
 answered on 09 Feb 2012
1 answer
409 views
***Edit - attached a full example that reproduces the problem shown in my attached screenshot. Tested under IE 9 and Firefox 10.0 - both are missing the zero Y-Axis value.... not sure why.

See attached image. For some reason the Y-axis is not including zero, but rather starts at the lowest value contained in my JSON file.

JSON data:
[
    {
        "CategoryText" : "Previous",
        "SeriesValue" : 321131.5225
    },
    {
        "CategoryText" : "Current",
        "SeriesValue" : 300059.4610
    }
]

This is my chart function that I re-use over and over, passing in a different DIV each time:
var DELAY = 400;

function
createGenericBarChart(ChartName, JsonPath, ChartType, Title, LegendVisible, LegendPosition, CategoryLabelRotation, ValueLabelRotation, Stacked, SeriesLabelsVisible,
SeriesLabelsFormat, ToolTipLabelFormat, CategoryAxisField, BarSeriesDefinition, Maximized) {
    $(ChartName).kendoChart({
        dataSource: {
            transport: {
                read: {
                    url: JsonPath,
                    dataType: "json"
                }
            }
        },
        title: {
            text: Title,
            font: '14px Arial'
        },
        legend: {
            position: LegendPosition,
            visible: LegendVisible,
            font: '8px Arial'
        },
        seriesDefaults: {
            type: ChartType,
            stack: Stacked,
            labels: {
                visible: SeriesLabelsVisible,
                position: "outsideEnd",
                format: SeriesLabelsFormat,
                font: '10px Arial'
            }
        },
        series: BarSeriesDefinition,
        valueAxis: {
            labels: {
                visible: true,
                rotation: ValueLabelRotation,
                font: '10px Arial'
            }
        },
        categoryAxis: {
            field: CategoryAxisField,
            labels: {
                rotation: CategoryLabelRotation,
                font: '10px Arial'
            }
        },
        tooltip: {
            visible: true,
            font: '12px Arial'
        }
    });
}


Here is the HTML /script thats used to call the above function, passing in the arguments:
<div id="dshitem1_1_divChart" class="Chart" style="z-index:8999;">1</div>
    <script>function DashboardCaller1(chartid, maximized) {
var BarSeries = [{
    field: "SeriesValue",
    name: "SeriesValue"
}];
 
createGenericBarChart(chartid, '2626_1_Bar - Airline Contract AC -SUN_.json?id=59bd4fee-511f-480b-bbee-88c3051b800d', 'column', 'Bar - Airline Contract AC -SUN', false, 'top', -45, 0, false, false,
'{0:N2}', '{0:N2}', 'CategoryText', BarSeries, maximized);
}
 
setTimeout(function() {
DashboardCaller1('#dshitem1_1_divChart', false);
}, 1 * DELAY);
 
</script>
 
</div>
Alexander Valchev
Telerik team
 answered on 09 Feb 2012
3 answers
117 views
Hello,

When grouping by one or more columns, is it possible to automatically remove those columns from the grid details?

Thanks,
Gary
Rosen
Telerik team
 answered on 09 Feb 2012
0 answers
109 views
Hi all, 

Is it possible to add combobox or autocomplete in grid on edit mode?

Anyone have workaround on this? It would greatly help me ..

Thank you.
Greffin
Top achievements
Rank 1
 asked on 09 Feb 2012
7 answers
76 views
I am initializing the slider through javascript object as below:
########################################################################################
<span id="range_display_price_footer"></span>)
<div id="slider_price_footer" class="slider"><input /><input /></div>
<script>
var obj_slider = {
slObj: [],
slider_initialise: function(type,min_val,max_val,small_step_val,large_step_val,tick_placement){
//alert(small_step_val);
var temp_obj = "fixed_"+type;
temp_obj = $("#"+type).kendoRangeSlider(
{
min: min_val,
max: max_val,
selectionStart: min_val,
selectionEnd: max_val,
                        smallStep: small_step_val,
largeStep: large_step_val,
tickPlacement: tick_placement,
tooltip:false,
enabled: true,
slide: this.sliderOnSlide,
change:this.sliderOnChange
}).data("kendoRangeSlider");
obj_slider.slObj[type] = temp_obj;

},
sliderOnSlide: function(e){
var slider_id = document.getElementById('range_display_price_footer');
slider_id.innerHTML = e.values.toString().replace(",", " - ");
},
sliderOnChange: function(e){
alert(obj_slider.slObj['slider_estimated_val_footer'].values());
}
};
obj_slider.slider_initialise('slider_price_footer',100,10000000,10000,10000,'both');
</script>
##############################################################################################
if i call slider_initialise function with min=0 and max=1000000
BUT if change the min value other than zero like 100 as shown in code above, both of the slider handler (knob) shrink together on the left side.

Please help me how do i fix this.
Thank you!
Hristo Germanov
Telerik team
 answered on 09 Feb 2012
1 answer
71 views
Is there a way for us to get access to the code that renders the virtual mobile device like on your demo site?  I have a demo to present to our remote office and would love to show them our mobile app. simulated on a mobile device.

Thanks!
Petyo
Telerik team
 answered on 09 Feb 2012
6 answers
864 views
Up until now I have been using your Silverlight tools /w a vb.net service as the backend.  I have a couple dropdown menus which can have up to 100,000 values in them.  I don't populate those lists or retrieve the data until the user starts to type.  I do that by handling the onkeyDown event and quering the webservice, which returns 20 results at a time.

I just started playing with your kendo combobox, I am not that good at javascript but so far it has been going ok, I am impressed with the tools.  I have my menus populating properly, from a REST web service, using mostly my same back end code, but at the moment I am not doing any filtering.  I know that I can filter at the combobox level, but how do I filter at the webservice so it doesn't have to return all the data?  Sorry if I missed this in the documentation, I am very new to this and appreceivate your assistance.
Kjell
Top achievements
Rank 1
 answered on 08 Feb 2012
0 answers
219 views
I am having issues binding an XML dataset to a Kendo Grid using the Kendo DataSource object. My grid renders but has no rows.

Here is the page on which I am drawing the Grid and creating the DataSource (Default.aspx):

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="ians_samples.Default" %>
 
<!DOCTYPE html>
 
<head runat="server">
    <title></title>
 
    <script src="js/kendo/jquery.min.js" type="text/javascript"></script>
    <script src="js/kendo/kendo.all.min.js" type="text/javascript"></script>
 
    <link href="css/default.css" rel="Stylesheet" />
    <link href="css/kendo/kendo.common.min.css" rel=Stylesheet />
    <link href="css/kendo/kendo.default.min.css" rel=Stylesheet />
 
    <style>
         
    </style>
</head>
<body>
    <form id="form1" runat="server">
 
    <asp:ScriptManager ID="ScriptManager1" runat="server">
        <Services>
            <asp:ServiceReference Path="~/data_reader_webservice.asmx" />
        </Services>
    </asp:ScriptManager>
 
    <div>
        <div class="k-content">
            <div id="splitter_test" style="height: 300px;">
                <div>
                    <p> Top </p>
                </div>
 
                <div>
                    <div id="grid_test">
                     
                    </div>
                </div>
 
                <div>
                    <p> Bottom </p>
                </div>
            </div>
        </div>
 
        <script>
            $(document).ready(function () {
                $("#splitter_test").kendoSplitter({
                    orientation: "vertical",
                    panes: [
                            { collapsible: false, resizable: true, size: "50px" },
                            { collapsible: false, resizable: true },
                            { resizable: true, size: "50px" }
                        ]
                });
 
                var dataSource = new kendo.data.DataSource({
                    transport: {
                        read: {
                            type: "POST",
                            url: "data_reader_webservice.asmx/GetHistoryLogXml"
                        }
                    },
                    schema: {
                        type: "xml",
                        data: "/tblHistoryLog/tblHistoryLog",
                        model: {
                            fields: {
                                LogID: "LogID/text()",
                                LogDate: "LogDate/text()",
                                Modules: "Modules/text()",
                                Message: "Message/text()"
                            }
                        }
                    }
                });
 
                $("#grid_test").kendoGrid({
                    dataSource: dataSource,
                    columns: [
                            { field: "LogID", title: "Log ID" },
                            { field: "LogDate", title: "Log Date" },
                            { field: "Modules", title: "Module" },
                            { field: "Message", title: "Message" }
                    ]
 
                });
 
            });
        </script>
    </div>
    </form>
 
     
</body>
</html>

And here is the XAML dataset being returned by my web service (data_reader_webservice.asmx/GetHistoryLogXml ):

<tblHistoryLog>
  <tblHistoryLog>
    <LogID>2211410</LogID>
    <LogDate>2012-02-08T10:20:48.933-05:00</LogDate>
    <Modules>TAL</Modules>
    <Message>The AeroScout tagging system has reported movement of tag 000CCC77332E to local position (21536,16149,0) within map Coleman Mine 4700 Level.</Message>
    <MessageType>0</MessageType>
    <UltimateTriggerID>2211410</UltimateTriggerID>
    <IsMultiTrigger>false</IsMultiTrigger>
  </tblHistoryLog>
  <tblHistoryLog>
    <LogID>2211411</LogID>
    <LogDate>2012-02-08T10:20:48.933-05:00</LogDate>
    <Modules>TAL</Modules>
    <Message>Entity 239 has entered Zone 21.  Its current position is (9290.36412811279,-23460,-7493.75833129883).</Message>
    <MessageType>1</MessageType>
    <ProximateTriggerID>2211410</ProximateTriggerID>
    <UltimateTriggerID>2211410</UltimateTriggerID>
    <IsMultiTrigger>false</IsMultiTrigger>
  </tblHistoryLog>
  <tblHistoryLog>
    <LogID>2211408</LogID>
    <LogDate>2012-02-08T10:20:04.58-05:00</LogDate>
    <Modules>TAL</Modules>
    <Message>The AeroScout tagging system has reported movement of tag 000CCC77332E to local position (21536,16149,0) within map Coleman Mine 4700 Level.</Message>
    <MessageType>0</MessageType>
    <UltimateTriggerID>2211408</UltimateTriggerID>
    <IsMultiTrigger>false</IsMultiTrigger>
  </tblHistoryLog>
  <tblHistoryLog>
    <LogID>2211409</LogID>
    <LogDate>2012-02-08T10:20:04.58-05:00</LogDate>
    <Modules>TAL</Modules>
    <Message>Entity 239 has entered Zone 21.  Its current position is (9290.36412811279,-23460,-7493.75833129883).</Message>
    <MessageType>1</MessageType>
    <ProximateTriggerID>2211408</ProximateTriggerID>
    <UltimateTriggerID>2211408</UltimateTriggerID>
    <IsMultiTrigger>false</IsMultiTrigger>
  </tblHistoryLog>
  <tblHistoryLog>
    <LogID>2211406</LogID>
    <LogDate>2012-02-08T10:19:18.387-05:00</LogDate>
    <Modules>TAL</Modules>
    <Message>The AeroScout tagging system has reported movement of tag 000CCC77332E to local position (21536,16149,0) within map Coleman Mine 4700 Level.</Message>
    <MessageType>0</MessageType>
    <UltimateTriggerID>2211406</UltimateTriggerID>
    <IsMultiTrigger>false</IsMultiTrigger>
  </tblHistoryLog>
  <tblHistoryLog>
    <LogID>2211407</LogID>
    <LogDate>2012-02-08T10:19:18.387-05:00</LogDate>
    <Modules>TAL</Modules>
    <Message>Entity 239 has entered Zone 21.  Its current position is (9290.36412811279,-23460,-7493.75833129883).</Message>
    <MessageType>1</MessageType>
    <ProximateTriggerID>2211406</ProximateTriggerID>
    <UltimateTriggerID>2211406</UltimateTriggerID>
    <IsMultiTrigger>false</IsMultiTrigger>
  </tblHistoryLog>
  <tblHistoryLog>
    <LogID>2211404</LogID>
    <LogDate>2012-02-08T10:17:48.15-05:00</LogDate>
    <Modules>TAL</Modules>
    <Message>The AeroScout tagging system has reported movement of tag 000CCC77332E to local position (21536,16149,0) within map Coleman Mine 4700 Level.</Message>
    <MessageType>0</MessageType>
    <UltimateTriggerID>2211404</UltimateTriggerID>
    <IsMultiTrigger>false</IsMultiTrigger>
  </tblHistoryLog>
  <tblHistoryLog>
    <LogID>2211405</LogID>
    <LogDate>2012-02-08T10:17:48.15-05:00</LogDate>
    <Modules>TAL</Modules>
    <Message>Entity 239 has entered Zone 21.  Its current position is (9290.36412811279,-23460,-7493.75833129883).</Message>
    <MessageType>1</MessageType>
    <ProximateTriggerID>2211404</ProximateTriggerID>
    <UltimateTriggerID>2211404</UltimateTriggerID>
    <IsMultiTrigger>false</IsMultiTrigger>
  </tblHistoryLog>
  <tblHistoryLog>
    <LogID>2211403</LogID>
    <LogDate>2012-02-08T10:16:17.743-05:00</LogDate>
    <Modules>TAL</Modules>
    <Message>Entity 239 has entered Zone 21.  Its current position is (9290.36412811279,-23460,-7493.75833129883).</Message>
    <MessageType>1</MessageType>
    <ProximateTriggerID>2211402</ProximateTriggerID>
    <UltimateTriggerID>2211402</UltimateTriggerID>
    <IsMultiTrigger>false</IsMultiTrigger>
  </tblHistoryLog>
  <tblHistoryLog>
    <LogID>2211402</LogID>
    <LogDate>2012-02-08T10:16:17.73-05:00</LogDate>
    <Modules>TAL</Modules>
    <Message>The AeroScout tagging system has reported movement of tag 000CCC77332E to local position (21536,16149,0) within map Coleman Mine 4700 Level.</Message>
    <MessageType>0</MessageType>
    <UltimateTriggerID>2211402</UltimateTriggerID>
    <IsMultiTrigger>false</IsMultiTrigger>
  </tblHistoryLog>
  <tblHistoryLog>
    <LogID>2211400</LogID>
    <LogDate>2012-02-08T10:15:31.61-05:00</LogDate>
    <Modules>TAL</Modules>
    <Message>The AeroScout tagging system has reported movement of tag 000CCC77332E to local position (21536,16149,0) within map Coleman Mine 4700 Level.</Message>
    <MessageType>0</MessageType>
    <UltimateTriggerID>2211400</UltimateTriggerID>
    <IsMultiTrigger>false</IsMultiTrigger>
  </tblHistoryLog>
  <tblHistoryLog>
    <LogID>2211401</LogID>
    <LogDate>2012-02-08T10:15:31.61-05:00</LogDate>
    <Modules>TAL</Modules>
    <Message>Entity 239 has entered Zone 21.  Its current position is (9290.36412811279,-23460,-7493.75833129883).</Message>
    <MessageType>1</MessageType>
    <ProximateTriggerID>2211400</ProximateTriggerID>
    <UltimateTriggerID>2211400</UltimateTriggerID>
    <IsMultiTrigger>false</IsMultiTrigger>
  </tblHistoryLog>
  <tblHistoryLog>
    <LogID>2211399</LogID>
    <LogDate>2012-02-08T10:14:01.313-05:00</LogDate>
    <Modules>TAL</Modules>
    <Message>Entity 239 has entered Zone 21.  Its current position is (9290.36412811279,-23460,-7493.75833129883).</Message>
    <MessageType>1</MessageType>
    <ProximateTriggerID>2211398</ProximateTriggerID>
    <UltimateTriggerID>2211398</UltimateTriggerID>
    <IsMultiTrigger>false</IsMultiTrigger>
  </tblHistoryLog>
<tblHistoryLog>

And here is a copy of the web service code itself (data_reader_webservice.asmx.cs):

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data;
using System.Configuration;
using System.Data.SqlClient;
using System.Web.Script.Services;
using System.Web.Script.Serialization;
using System.Text;
 
namespace ians_samples
{
    /// <summary>
    /// Summary description for data_reader_webservice
    /// </summary>
    [WebService(Namespace = "ians_samples")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
 
    [System.Web.Script.Services.ScriptService]
    public class data_reader_webservice : System.Web.Services.WebService
    {
 
        [WebMethod]
        public DataSet GetHistoryLogDataSet()
        {
            DataSet returnSet = new DataSet();
 
            string sConn = ConfigurationManager.ConnectionStrings["NRG-ECO_DB"].ToString();
 
            string sSQL = "SELECT * FROM tblHistoryLog WHERE LogDate BETWEEN '" + DateTime.Now.AddDays(-100).ToString() + "' AND '" + DateTime.Now.ToString() + "' ORDER BY LogDate DESC";
 
            SqlDataAdapter da = new SqlDataAdapter(sSQL, new SqlConnection(sConn));
 
            da.Fill(returnSet, "tblHistoryLog");
 
            returnSet.DataSetName = "tblHistoryLog";
 
            return returnSet;
        }
 
        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Xml)]
        public string GetHistoryLogXml()
        {
 
            DataSet returnSet = new DataSet();
 
            string sConn = ConfigurationManager.ConnectionStrings["NRG-ECO_DB"].ToString();
 
            string sSQL = "SELECT * FROM tblHistoryLog WHERE LogDate BETWEEN '" + DateTime.Now.AddDays(-100).ToString() + "' AND '" + DateTime.Now.ToString() + "' ORDER BY LogDate DESC";
 
            SqlDataAdapter da = new SqlDataAdapter(sSQL, new SqlConnection(sConn));
 
            da.Fill(returnSet, "tblHistoryLog");
 
            returnSet.DataSetName = "tblHistoryLog";
 
            return returnSet.GetXml();
        }
 
        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public string GetHistoryLogJSON()
        {
            DataTable returnSet = new DataTable();
 
            string sConn = ConfigurationManager.ConnectionStrings["NRG-ECO_DB"].ToString();
 
            string sSQL = "SELECT * FROM tblHistoryLog WHERE LogDate BETWEEN '" + DateTime.Now.AddDays(-100).ToString() + "' AND '" + DateTime.Now.ToString() + "' ORDER BY LogDate DESC";
 
            SqlDataAdapter da = new SqlDataAdapter(sSQL, new SqlConnection(sConn));
 
            da.Fill(returnSet);
 
            return GetJSONString(returnSet);
 
        }
 
        public static string GetJSONString(DataTable Dt)
        {
 
            string[] StrDc = new string[Dt.Columns.Count];
            string HeadStr = string.Empty;
 
            for (int i = 0; i < Dt.Columns.Count; i++)
            {
 
                StrDc[i] = Dt.Columns[i].Caption;
 
                HeadStr += "\"" + StrDc[i] + "\" : \"" + StrDc[i] + i.ToString() + "¾" + "\",";
            }
 
            HeadStr = HeadStr.Substring(0, HeadStr.Length - 1);
 
            StringBuilder Sb = new StringBuilder();
            Sb.Append("{\"" + Dt.TableName + "\" : [");
 
            for (int i = 0; i < Dt.Rows.Count; i++)
            {
 
                string TempStr = HeadStr;
                Sb.Append("{");
 
                for (int j = 0; j < Dt.Columns.Count; j++)
                {
 
                    TempStr = TempStr.Replace(Dt.Columns[j] + j.ToString() + "¾", Dt.Rows[i][j].ToString());
                }
 
                Sb.Append(TempStr + "},");
            }
 
            Sb = new StringBuilder(Sb.ToString().Substring(0, Sb.ToString().Length - 1));
            Sb.Append("]}");
 
            return Sb.ToString();
        }
    }
}

If anyone can provide any insights as to what is wrong I would greatly appreciate it.

Thanks again,

Ian


Ian
Top achievements
Rank 1
 asked on 08 Feb 2012
3 answers
79 views
Will the next beta be open at first or will registered users get in first?
Sebastian
Telerik team
 answered on 08 Feb 2012
2 answers
151 views
I have some html that I have applied the splitter to.

<div class="frame">
<div class="left-nav"></div>
<div class="content"></div>
<div class="clear"></div>
</div>

My class left-nav has a set width of 200px and my content class doesn't have a set width.
clear just removes the floating.

Can the splitter be applied just to left-nav?

I have tried

$(".frame").kendoSplitter({
          panes: [
                          { collapsible: true,size:"200px",max:"200px"},
                      {},{}
                            
    
                      ]
      });

But it applies a panel to the .content div.

Any suggestions?
Shane P
Top achievements
Rank 1
 answered on 08 Feb 2012
Narrow your results
Selected tags
Tags
Grid
General Discussions
Charts
Data Source
Scheduler
DropDownList
TreeView
MVVM
Editor
Window
DatePicker
Spreadsheet
Upload
ListView (Mobile)
ComboBox
TabStrip
MultiSelect
AutoComplete
ListView
Menu
Templates
Gantt
Validation
TreeList
Diagram
NumericTextBox
Splitter
PanelBar
Application
Map
Drag and Drop
ToolTip
Calendar
PivotGrid
ScrollView (Mobile)
Toolbar
TabStrip (Mobile)
Slider
Button (Mobile)
Filter
SPA
Drawing API
Drawer (Mobile)
Globalization
LinearGauge
Sortable
ModalView
Hierarchical Data Source
Button
FileManager
MaskedTextBox
View
Form
NavBar
Notification
Switch (Mobile)
SplitView
ListBox
DropDownTree
PDFViewer
Sparkline
ActionSheet
TileLayout
PopOver (Mobile)
TreeMap
ButtonGroup
ColorPicker
Pager
Styling
MultiColumnComboBox
Dialog
Chat
DateRangePicker
Checkbox
Timeline
Drawer
DateInput
ProgressBar
MediaPlayer
ImageEditor
TextBox
OrgChart
Effects
Accessibility
PivotGridV2
ScrollView
BulletChart
Licensing
QRCode
ResponsivePanel
Switch
Wizard
CheckBoxGroup
TextArea
Barcode
Breadcrumb
Collapsible
Localization
MultiViewCalendar
Touch
RadioButton
Stepper
Card
ExpansionPanel
Rating
RadioGroup
Badge
Captcha
Heatmap
AppBar
Loader
Security
TaskBoard
Popover
DockManager
FloatingActionButton
CircularGauge
ColorGradient
ColorPalette
DropDownButton
TimeDurationPicker
ToggleButton
TimePicker
BottomNavigation
Ripple
SkeletonContainer
Avatar
Circular ProgressBar
FlatColorPicker
SplitButton
Signature
Chip
ChipList
VS Code Extension
AIPrompt
PropertyGrid
Sankey
Chart Wizard
OTP Input
SpeechToTextButton
InlineAIPrompt
StockChart
ContextMenu
DateTimePicker
RadialGauge
ArcGauge
AICodingAssistant
+? more
Top users last month
Top achievements
Rank 1
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ivory
Top achievements
Rank 1
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
YF
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Top achievements
Rank 1
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ivory
Top achievements
Rank 1
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
YF
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?