|
<ej:Column Field="OrderDate" HeaderText="Order Date" TextAlign="Right" Width="80" Priority="2">
<EditTemplate Create="create" Read="read" Write="write" />
</ej:Column>
<ej:Column Field="ShipCity" HeaderText="Ship City" Width="110" Priority="2" />
</Columns>
<ClientSideEvents QueryCellInfo="cell" ActionComplete="complete" ActionBegin="begin"/>
</ej:Grid>
</div>
<script type="text/javascript">
function create() {
return $("<input>");
}
function write(args) {
obj = $('#<%= FlatGrid.ClientID %>').ejGrid('instance');
var data = ej.DataManager(obj.model.dataSource).executeLocal(new ej.Query().select("OrderDate"));
args.element.ejTimePicker({ width: "100%",secondsInterval : 20,timeFormat: "h:mm:ss tt", dataSource: data, enableDistinct: true, value: args.rowdata !== undefined ? args.rowdata["OrderDate"] + " PM" : "" });
}
function read(args) {
flag = false
var val = args.ejTimePicker("getValue").split(":");
var hour = val[0]; var min = val[1]; var sec = val[2].split(" ");
var sec1 = sec[0];
var time = parseInt(hour * 3600) + parseInt(min * 60) + parseInt(sec1);
return time;
}
var flag = true;
function cell(args) {
if (args.column.field == "OrderDate") {
var format = /[ : ]/; // to check after editing querycellinor will be triggered to prevent form changing the format.
if (flag == true || !format.test(args.text)) {
//converting integer to time value
var sec_num = parseInt(args.text, 10); // don't forget the second param
var hours = Math.floor(sec_num / 3600);
var minutes = Math.floor((sec_num - (hours * 3600)) / 60);
var seconds = sec_num - (hours * 3600) - (minutes * 60);
if (hours < 10) { hours = "0" + hours; }
if (minutes < 10) { minutes = "0" + minutes; }
if (seconds < 10) { seconds = "0" + seconds; }
var tock = hours + ':' + minutes + ':' + seconds;
$(args.cell).text(tock)
args.rowData.OrderDate = tock;
}
}
}
</script> |