I am using Keno Grid in my VueJS project. I need to show spinner while loading data into grid. I followed the link https://stackblitz.com/edit/zr8vbd-xk73ps?file=index.html . This display the spinner until data loaded into Vue. How ever when there is no data to display I would like to display No records found message.
My Grid looks like this.
<Grid :data-items="pageViewModels"
:pageable="true"
:columns="gridData.columns"
:skip="gridData.skip"
:take="gridData.take"
:total="gridData.total"
@pagechange="onPageChange"
@rowclick="onRowClick">
<GridNoRecords>
<div class="k-loading-mask margin-top-100">
<span class='k-loading-text'>
</span>
<div class='k-loading-image'/>
<div class='k-loading-color'/>
</div>
</GridNoRecords>
Hi,
I have a kendo wrapper grid with local datasource pointing to vue state.
There is a button "Update" which will update the state so that the grid will be updated as well and it works.
But, if I firstly click the button "Test" (just only a same value assignment to state) and then click "Update", strangely it does not work so the grid has no change.
I finally found out the reason is that after clicked "Test" then "Update", the vue state updated BUT the kendo grid datasource won't (out of sync unexpectedly)
So the temp solution is I have to manually assign the state to the datasource so that the grid will be updated.
Repo: https://stackblitz.com/edit/dqsbeo
My question is why, after clicked 'Test', the kendo grid datasource became cached and out of sync with the vue state?
If I don't click 'Test', they do sync always.
Problem occur only when "same value assignment" to the state. If "different value assignment", no problem.
<div id="vueapp">
<kendo-datasource ref="dsDS" :data="localDataSource"></kendo-datasource>
<kendo-grid :data-source-ref="'dsDS'">
<kendo-grid-column :field="'ProductID'"
:title="'ID'"
:width="40"></kendo-grid-column>
<kendo-grid-column :field="'ProductName'"></kendo-grid-column>
<kendo-grid-column :field="'UnitPrice'"
:title="'Unit Price'"
:width="120"
:format="'{0:c}'"></kendo-grid-column>
<kendo-grid-column :field="'UnitsInStock'"
:title="'Units In Stock'"
:width="120"></kendo-grid-column>
<kendo-grid-column :field="'Discontinued'" :width="120"></kendo-grid-column>
</kendo-grid>
<input type="button" value="Test" @click="test" />
<input type="button" value="Update" @click="update" />
</div>
new Vue({
el: '#vueapp',
data: {
localDataSource: [{
"ProductID": 1,
"ProductName": "Chai",
"UnitPrice": 18,
"UnitsInStock": 39,
"Discontinued": false,
},
{
"ProductID": 2,
"ProductName": "Chang",
"UnitPrice": 17,
"UnitsInStock": 40,
"Discontinued": false,
},
{
"ProductID": 3,
"ProductName": "Aniseed Syrup",
"UnitPrice": 10,
"UnitsInStock": 13,
"Discontinued": false,
}
]
},
methods: {
test: function(e) {
this.localDataSource = JSON.parse(JSON.stringify(this.localDataSource)); //same value assignment
console.log('test');
},
update: function(e) {
this.localDataSource.splice(0, 1, this.localDataSource[1]); //replace the first object with second object
},
}
})
Type in the Currency field in the example page here https://www.telerik.com/kendo-vue-ui/components/inputs/numerictextbox/formats/
After typing in the third digit, caret position moves to the 2nd digit instead of the first or last digit.
Typing in more digits causes the caret to move a position up occasionally.
Caret needs to be consistent on its positioning, either staying in the far left, or to the right before the decimal.
Preferably, this should be a prop to configure.
Also, tabbing out of the field when there are more than 2 decimal places will not format on leave.
For Vue components, the v-model on a multi-combo box and every component must bind to the underlying object. :value-primitive="false" doesn't work as per some suggestions. v-model binding to the underlying object is a MUST HAVE, Top priority, number one with a bullet. Without it, your components are a PITA to use and my current proof of concept might end here and we won't use your components with some bigger projects coming down the line.
Hi all!.
Are your planning to create native gantt component?
Do you have a development plan?