public void DataBindSelectionModel(Grid grid, DataViewBase dataView) { // Set up selection model if needed // Create selection model RowSelectionModelOptions selectionModelOptions = new RowSelectionModelOptions(); selectionModelOptions.SelectActiveRow = true; RowSelectionModel selectionModel = new RowSelectionModel(selectionModelOptions); // Bind two way sync of selected rows // NOTE: the row index on the grid is not the row index in the data view due to paging bool inHandler = false; selectionModel.OnSelectedRangesChanged.Subscribe(delegate(EventData e, object args) { if (inHandler) { return; } inHandler = true; dataView.RaiseOnSelectedRowsChanged((SelectedRange[])args); inHandler = false; }); dataView.OnSelectedRowsChanged += delegate() { if (inHandler) { return; } inHandler = true; SelectedRange[] ranges = dataView.GetSelectedRows(); int[] selectedRows = new int[ranges.Length]; for (int i = 0; i < selectedRows.Length; i++) { selectedRows[i] = ranges[i].FromRow.Value; } grid.SetSelectedRows(selectedRows); inHandler = false; }; grid.SetSelectionModel(selectionModel); }
public void updatePager(PagingInfo pagingInfo) { NavigationState state = getNavState(); jQueryObject firstButton = _container.Find(".sparkle-grid-paging-first"); jQueryObject backButton = _container.Find(".sparkle-grid-paging-back"); jQueryObject nextButton = _container.Find(".sparkle-grid-paging-next"); jQueryObject label = _container.Find(".sparkle-grid-status-label"); jQueryObject pageInfo = _container.Find(".sparkle-grid-status-paging-page"); jQueryObject status = _container.Find(".sparkle-grid-status-label"); if (state.CanGotoFirst) { firstButton.RemoveClass("disabled"); } else { firstButton.AddClass("disabled"); } if (state.CanGotoPrev) { backButton.RemoveClass("disabled"); } else { backButton.AddClass("disabled"); } if (state.CanGotoNext) { nextButton.RemoveClass("disabled"); } else { nextButton.AddClass("disabled"); } status.Text(string.Format("{0} - {1} of {2} ({3} selected)", pagingInfo.FromRecord, pagingInfo.ToRecord, pagingInfo.TotalRows, _dataView.GetSelectedRows().Length.ToString())); pageInfo.Text(string.Format("Page {0}", pagingInfo.PageNum + 1)); }
public void DataBindSelectionModel(Grid grid, DataViewBase dataView) { // Set up selection model if needed // Create selection model RowSelectionModelOptions selectionModelOptions = new RowSelectionModelOptions(); selectionModelOptions.SelectActiveRow = SelectActiveRow; selectionModelOptions.MultiRowSelect = this.MultiSelect; RowSelectionModel selectionModel = new RowSelectionModel(selectionModelOptions); // Bind two way sync of selected rows // NOTE: the row index on the grid is not the row index in the data view due to paging bool inHandler = false; selectionModel.OnSelectedRangesChanged.Subscribe(delegate(EventData e, object args) { //if (grid.GetEditorLock().IsActive()) //{ // e.StopPropagation(); // return; //} if (inHandler) { return; } inHandler = true; // Has the selected row changeD? SelectedRange[] selectedRows = dataView.GetSelectedRows(); SelectedRange[] newSelectedRows = (SelectedRange[])args; bool changed = selectedRows.Length != newSelectedRows.Length; if (!changed) { // Compare the actual selected rows for (int i = 0; i < selectedRows.Length; i++) { if (selectedRows[i].FromRow != newSelectedRows[i].FromRow) { changed = true; break; } } } if (changed) { dataView.RaiseOnSelectedRowsChanged(newSelectedRows); } inHandler = false; }); dataView.OnSelectedRowsChanged += delegate() { //if (grid.GetEditorLock().IsActive()) // return; if (inHandler) { return; } inHandler = true; SelectedRange[] ranges = dataView.GetSelectedRows(); int[] selectedRows = new int[ranges.Length]; for (int i = 0; i < selectedRows.Length; i++) { selectedRows[i] = ranges[i].FromRow.Value; } grid.SetSelectedRows(selectedRows); inHandler = false; }; grid.SetSelectionModel(selectionModel); }
public void DataBindSelectionModel(Grid grid, DataViewBase dataView) { // Set up selection model if needed // Create selection model RowSelectionModelOptions selectionModelOptions = new RowSelectionModelOptions(); selectionModelOptions.SelectActiveRow = true; RowSelectionModel selectionModel = new RowSelectionModel(selectionModelOptions); // Bind two way sync of selected rows // NOTE: the row index on the grid is not the row index in the data view due to paging bool inHandler = false; selectionModel.OnSelectedRangesChanged.Subscribe(delegate(EventData e, object args) { if (inHandler) return; inHandler = true; dataView.RaiseOnSelectedRowsChanged((SelectedRange[])args); inHandler = false; }); dataView.OnSelectedRowsChanged+=delegate() { if (inHandler) return; inHandler = true; SelectedRange[] ranges = dataView.GetSelectedRows(); int[] selectedRows = new int[ranges.Length]; for (int i=0;i<selectedRows.Length;i++) { selectedRows[i] = ranges[i].FromRow.Value; } grid.SetSelectedRows(selectedRows); inHandler = false; }; grid.SetSelectionModel(selectionModel); }
public void DataBindSelectionModel(Grid grid, DataViewBase dataView) { // Set up selection model if needed // Create selection model RowSelectionModelOptions selectionModelOptions = new RowSelectionModelOptions(); selectionModelOptions.SelectActiveRow = SelectActiveRow; selectionModelOptions.MultiRowSelect = this.MultiSelect; RowSelectionModel selectionModel = new RowSelectionModel(selectionModelOptions); // Bind two way sync of selected rows // NOTE: the row index on the grid is not the row index in the data view due to paging bool inHandler = false; selectionModel.OnSelectedRangesChanged.Subscribe(delegate(EventData e, object args) { //if (grid.GetEditorLock().IsActive()) //{ // e.StopPropagation(); // return; //} if (inHandler) return; inHandler = true; // Has the selected row changeD? SelectedRange[] selectedRows = dataView.GetSelectedRows(); SelectedRange[] newSelectedRows = (SelectedRange[])args; bool changed = selectedRows.Length!=newSelectedRows.Length; if (!changed) { // Compare the actual selected rows for (int i = 0; i < selectedRows.Length; i++) { if (selectedRows[i].FromRow!=newSelectedRows[i].FromRow) { changed = true; break; } } } if (changed) { dataView.RaiseOnSelectedRowsChanged(newSelectedRows); } inHandler = false; }); dataView.OnSelectedRowsChanged+=delegate() { //if (grid.GetEditorLock().IsActive()) // return; if (inHandler) return; inHandler = true; SelectedRange[] ranges = dataView.GetSelectedRows(); int[] selectedRows = new int[ranges.Length]; for (int i=0;i<selectedRows.Length;i++) { selectedRows[i] = ranges[i].FromRow.Value; } grid.SetSelectedRows(selectedRows); inHandler = false; }; grid.SetSelectionModel(selectionModel); }