示例#1
0
        //General - Filter on a given column name
        private void filterOnColumnName(String columnName, String filterContent)
        {
            if (database != null && database.isValid())
            {
                switch (columnName)
                {
                case "Filename":
                    fillGrid(queryBuilder.filterOnFilename(currentPage * appSettings.defaultRecords, appSettings.defaultRecords, filterContent));
                    break;

                case "Function":
                    fillGrid(queryBuilder.filterOnFunction(currentPage * appSettings.defaultRecords, appSettings.defaultRecords, filterContent));
                    break;

                case "Process":
                    fillGrid(queryBuilder.filterOnProcess(currentPage * appSettings.defaultRecords, appSettings.defaultRecords, filterContent));
                    break;

                case "PID":
                    fillGrid(queryBuilder.filterOnPID(currentPage * appSettings.defaultRecords, appSettings.defaultRecords, filterContent));
                    break;

                case "TID":
                    fillGrid(queryBuilder.filterOnTID(currentPage * appSettings.defaultRecords, appSettings.defaultRecords, filterContent));
                    break;

                case "Loglevel":
                    fillGrid(queryBuilder.filterOnLoglevel(currentPage * appSettings.defaultRecords, appSettings.defaultRecords, filterContent));
                    break;

                case "Logtype":
                    fillGrid(queryBuilder.filterOnLogtype(currentPage * appSettings.defaultRecords, appSettings.defaultRecords, filterContent));
                    break;

                case "Message":
                    fillGrid(queryBuilder.filterOnMessage(currentPage * appSettings.defaultRecords, appSettings.defaultRecords, filterContent));
                    break;

                case "Timestamp":
                    Dispatcher.BeginInvoke(new Action(() =>
                    {
                        if (fromTimeDate.Value == null && toTimeDate.Value == null)
                        {
                            fromTimeDate.Text = filterContent;
                        }
                        else
                        {
                            toTimeDate.Text = filterContent;
                        }
                        bottomStatusText.Text = "Ready";
                    }));
                    break;

                case "global":
                    fillGrid(queryBuilder.globalSearch(filterContent, currentPage * appSettings.defaultRecords, appSettings.defaultRecords));
                    break;

                default:
                    Dispatcher.BeginInvoke(new Action(() =>
                    {
                        MessageBox.Show("Not yet supported for this column!");
                        logger.debug("Filtered on column that is not supported! -> " + columnName);
                        bottomStatusText.Text = "Ready";
                    }));
                    break;
                }
            }
            else
            {
                Dispatcher.BeginInvoke(new Action(() =>
                {
                    MessageBox.Show("Filtering disabled! No database connection.");
                }));
            }
        }