示例#1
0
        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);
        }
示例#2
0
        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));
        }
示例#3
0
        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);
        }
示例#5
0
        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);
        }