Why not adding css class for table poster red border cell error?

JavaFX 2.2.21 Java 7.21

I'm trying to display a red border and a picture on a cell text when an error occurs.

I took the address book example (example 12-11 http://docs.oracle.com/javafx/2/ui_controls/table-view.htm#CJAGAAEE).

and also James D solution to my previous question.

I find that adding a class of css error does not display the red border and the image.

However, using setStyle this - but it is not preferable, because I want to put the border value by default once the error is corrected.

In the example below, red border does NOT appear. The 'name' field was changed to salary and must display one error (red border and image) if other thing that an integer is entered.

If you uncomment the setStyle lines, then it is displayed.

Note: I use empty.png to erase the image of 'failure' because using - fx-background-image: none; somehow, did not.

import javafx.application.Application;
import javafx.beans.property.SimpleStringProperty;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.geometry.Insets;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.TableColumn.CellEditEvent;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.scene.text.Font;
import javafx.stage.Stage;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.control.Button;
import javafx.scene.control.TableCell;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyEvent;
import javafx.util.Callback;
public class TableViewSample extends Application {


    private TableView<Person> table = new TableView<Person>();
    private final ObservableList<Person> data =
            FXCollections.observableArrayList(
            new Person("Gates", "46", "[email protected]"),
            new Person("Ellison", "25", "[email protected]"),
            new Person("McNealy", "1", "[email protected]"),
            new Person("Jobs", "0", "[email protected]"),
            new Person("Me", "0", "[email protected]"));
    final HBox hb = new HBox();


    public static void main(String[] args) {
        launch(args);
    }


    @Override
    public void start(Stage stage) {
        Scene scene = new Scene(new Group());
        stage.setTitle("Table View Sample");
        stage.setWidth(450);
        stage.setHeight(550);


        final Label label = new Label("Address Book");
        label.setFont(new Font("Arial", 20));


        table.setEditable(true);
        Callback<TableColumn, TableCell> cellFactory =
                new Callback<TableColumn, TableCell>() {
            public TableCell call(TableColumn p) {
                return new EditingCell();
            }
        };


        TableColumn firstNameCol = new TableColumn("First Name");
        firstNameCol.setMinWidth(100);
        firstNameCol.setCellValueFactory(
                new PropertyValueFactory<Person, String>("firstName"));
        firstNameCol.setCellFactory(cellFactory);
        firstNameCol.setOnEditCommit(
                new EventHandler<CellEditEvent<Person, String>>() {
            @Override
            public void handle(CellEditEvent<Person, String> t) {
                ((Person) t.getTableView().getItems().get(
                        t.getTablePosition().getRow())).setFirstName(t.getNewValue());
            }
        });




        TableColumn salaryCol = new TableColumn("Salary");
        salaryCol.setMinWidth(100);
        salaryCol.setCellValueFactory(
                new PropertyValueFactory<Person, String>("salary"));
        salaryCol.setCellFactory(cellFactory);
        salaryCol.setOnEditCommit(
                new EventHandler<CellEditEvent<Person, String>>() {
            @Override
            public void handle(CellEditEvent<Person, String> t) {
                ((Person) t.getTableView().getItems().get(
                        t.getTablePosition().getRow())).setSalary(t.getNewValue());
            }
        });


        TableColumn emailCol = new TableColumn("Email");
        emailCol.setMinWidth(200);
        emailCol.setCellValueFactory(
                new PropertyValueFactory<Person, String>("email"));
        emailCol.setCellFactory(cellFactory);
        emailCol.setOnEditCommit(
                new EventHandler<CellEditEvent<Person, String>>() {
            @Override
            public void handle(CellEditEvent<Person, String> t) {
                ((Person) t.getTableView().getItems().get(
                        t.getTablePosition().getRow())).setEmail(t.getNewValue());
            }
        });


        table.setItems(data);
        table.getColumns().addAll(firstNameCol, salaryCol, emailCol);


        final TextField addFirstName = new TextField();
        addFirstName.setPromptText("First Name");
        addFirstName.setMaxWidth(firstNameCol.getPrefWidth());
        final TextField addSalary = new TextField();
        addSalary.setMaxWidth(salaryCol.getPrefWidth());
        addSalary.setPromptText("Last Name");
        final TextField addEmail = new TextField();
        addEmail.setMaxWidth(emailCol.getPrefWidth());
        addEmail.setPromptText("Email");


        final Button addButton = new Button("Add");
        addButton.setOnAction(new EventHandler<ActionEvent>() {
            @Override
            public void handle(ActionEvent e) {
                data.add(new Person(
                        addFirstName.getText(),
                        addSalary.getText(),
                        addEmail.getText()));
                addFirstName.clear();
                addSalary.clear();
                addEmail.clear();
            }
        });


        hb.getChildren().addAll(addFirstName, addSalary, addEmail, addButton);
        hb.setSpacing(3);


        final VBox vbox = new VBox();
        vbox.setSpacing(5);
        vbox.setPadding(new Insets(10, 0, 0, 10));
        vbox.getChildren().addAll(label, table, hb);


        ((Group) scene.getRoot()).getChildren().addAll(vbox);
        scene.getStylesheets().add(getClass().getResource("errorTextField.css").toExternalForm());


        stage.setScene(scene);
        stage.show();
    }


    public static class Person {


        private final SimpleStringProperty firstName;
        private final SimpleStringProperty salary;
        private final SimpleStringProperty email;


        private Person(String fName, String pay, String email) {
            this.firstName = new SimpleStringProperty(fName);
            this.salary = new SimpleStringProperty(pay);
            this.email = new SimpleStringProperty(email);
        }


        public String getFirstName() {
            return firstName.get();
        }


        public void setFirstName(String fName) {
            firstName.set(fName);
        }


        public String getSalary() {
            return salary.get();
        }


        public void setSalary(String fName) {
            salary.set(fName);
        }


        public String getEmail() {
            return email.get();
        }


        public void setEmail(String fName) {
            email.set(fName);
        }
    }


    class EditingCell extends TableCell<Person, String> {


        final String errorCSSClass = "error";
        private TextField textField;


        public EditingCell() {
        }


        @Override
        public void startEdit() {
            if (!isEmpty()) {
                super.startEdit();
                createTextField();
                setText(null);
                setGraphic(textField);
                textField.selectAll();
            }
        }


        @Override
        public void cancelEdit() {
            super.cancelEdit();


            setText((String) getItem());
            setGraphic(null);
        }


        @Override
        public void updateItem(String item, boolean empty) {
            super.updateItem(item, empty);


            if (empty) {
                setText(null);
                setGraphic(null);
            } else {
                if (isEditing()) {
                    if (textField != null) {
                        textField.setText(getString());
                    }
                    setText(null);
                    setGraphic(textField);
                } else {
                    setText(getString());
                    setGraphic(null);
                }
            }
        }


        private boolean validate(String text) {
            try {
                Integer.parseInt(text);
            } catch (NumberFormatException ne) {
                return false;
            }
            return true;
        }


        private void createTextField() {
            textField = new TextField(getString());
            textField.setMinWidth(this.getWidth() - this.getGraphicTextGap() * 2);
            textField.focusedProperty().addListener(new ChangeListener<Boolean>() {
                @Override
                public void changed(ObservableValue<? extends Boolean> arg0,
                        Boolean arg1, Boolean arg2) {
                    if (!arg2) {
                        commitEdit(textField.getText());
                        boolean valid = validate(textField.getText());
                        if (!valid) {
                            if (!getStyleClass().contains(errorCSSClass)) {
                                getStyleClass().add(errorCSSClass);
                            }
//                            setStyle("-fx-border-color: red; -fx-background-image:url('fail.png'); -fx-background-repeat: no-repeat; -fx-background-position: right center;");
                        } else {
                            getStyleClass().remove(errorCSSClass);
//                            setStyle("-fx-border-color: gray;  -fx-background-image:url('empty.png');");
                        }
                    }
                }
            });
            textField.setOnKeyReleased(new EventHandler<KeyEvent>() {
                @Override
                public void handle(KeyEvent event) {
                    if ((event.getCode() == KeyCode.ENTER)) {
                        commitEdit(textField.getText());
                        boolean valid = validate(textField.getText());
                        if (!valid) {
                            if (!getStyleClass().contains(errorCSSClass)) {
                                getStyleClass().add(errorCSSClass);
                            }
//                            setStyle("-fx-border-color: red; -fx-background-image:url('fail.png'); -fx-background-repeat: no-repeat; -fx-background-position: right center;");
                        } else {
                            getStyleClass().remove(errorCSSClass);
//                            setStyle("-fx-border-color: gray;  -fx-background-image:url('empty.png');");
                        }
                    } else if (event.getCode() == KeyCode.ESCAPE) {
                        cancelEdit();
                    }
                }
            });
        }


        private String getString() {
            return getItem() == null ? "" : getItem().toString();
        }
    }
}


errorTextField.css

root {
    display: block;
}


.text-field.error {
-fx-border-color: red ;
  -fx-border-width: 2px ;
  -fx-background-image:url('fail.png');
  -fx-background-repeat: no-repeat;
  -fx-background-position: right center;
}
.text-field {
-fx-border-width: 0px ;
-fx-background-image:url('empty.png') ;
   -fx-background-repeat: no-repeat;
  -fx-background-position: right center;
}


The css Setup is fine. The selector

.a.b

Selects elements that have the two class a and class b. Note that in this example, you set the style on the table cell class, not on the text field. So you have the selector

.table-cell.error

You can select the cells of a table with text fields that also have the style class 'mistake' set with

.text-field.error, .table-cell.error

Tags: Java

Similar Questions

  • Setting CSS class for text-related column

    Good day to you all:

    It is relatively easy adjust the font size for a column of the report in the APEX by placing "font-size: small" under "Formatting of column" in the field "CSS Style".

    However, I always run into the same problem trying to place a 'Style' on a column that is related.  It seems that if the text of the bound column overrides any Style of CSS, I attribute to this column.

    Any suggestions?

    Thank you, Aqua

    After looking and looking and looking, it seems as if this issue was already addressed and answered by fac586

    See the following thread...

    Style CSS with value: style = "width: 200px"-does not work in the report

  • I see that r, I see that v.3.6.9 Beta (Build 1), was released on August 26, 2010. Where can I download it? I want to help but never knows where to download the beta version of updates. Why not make it easier for non-developers?

    I go to the beta version download page and all I can find is a link to download 3.6.8. Why make such a mystery download?

    You should choose for your OS and language directories. For Windows, English-US version go to http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/3.6.9-candidates/build1/win32/en-US/ and download "Firefox Setup 3.6.9.exe"

  • Not global CSS classes?

    I have the code in a menu symbol that control classes.

    I applied to other symbols, which should react together to classes. Ex:

    sym.getSymbol(".indef").play ("indef-art");

    This should be 4 symbols with the respective class to play at the same time, right?

    Instead of this, either only 1 symbol plays, or they play in order when the button is clicked.

    Thanks for your advice.

    Hey g.bollmann,

    I personally found that to use a class in the way you describe you must make a function for the class and then call this function: creation, for example participated

    sym.playIndef = function() {}

    sym.getSymbol(".indefl").play ();

    }

    then just call it when you want an all the symbols with the indefl class to play:

    sym.playIndef ();

    I would recommend personal the first way that I have described as I find that you can control the project

    hope this has helped

  • [AS] Why not work object reference for each line of text with Leopard/Snow Leopard style

    script extract, in CS5 (but have the same problem with the version of the script for CS3):

    say theDoc

    ...

    tell theStory

    ...
    the value question (object reference each text style Beach where the style police is in boldStyles)

    In Tiger, it would generate a list of ranges of text, such as "character text 64-character 110 text stream code 55110 document"thisdoc.indd"

    Under Leopard and Snow Leopard, I get an error: can not get the object reference

    I did not write the original screenplay and I can find a solution by looping through the styles in the list but this good word seems to be better, if I can make it work!

    Thoughts?

    Thank you!

    It works in CS4 on Mac OS 10.5.8 Intel:

    Tell application "Adobe InDesign CS4"

    say 1 document

    say page 1

    say the text block 1

    tell of the history of parent

    the value question to (object of each text style reference range) which police style is in 'mainstream '.

    end say

    end say

    end say

    end say

    end say

    Which returns:

    { of character 1 to 22 character text 236 of the identity document 'Untitled 1' history application "Adobe InDesign CS4", text of character 23 to 23 character 236 of the identity document history "Untitled-1" application "Adobe InDesign CS4", text of the character 48 to 48 character 236 of the identity document history "Untitled-1" application "Adobe InDesign CS4", text of 49 to 62 character character 236 of the identity document history "Untitled-1" application "Adobe InDesign CS4" "" "} , of character 63 to 64 character text 236 of the identity document 'Untitled 1' history application "Adobe InDesign CS4", from 65 to 76 character character text 236 of the identity document history "Untitled-1" application "Adobe InDesign CS4", from 77 to 77 character character text 236 of the identity document history "Untitled-1" application "Adobe InDesign CS4", from 78 to 98 character character text history 236 of the document id "Untitled-1" application «Adobe InDesign CS4»»» " , from 99 to 129 character character text 236 of the identity document 'Untitled 1' history application "Adobe InDesign CS4", text of 130 to 153 character character 236 of the identity document history "Untitled-1" application "Adobe InDesign CS4", text of character 179 to character 228 236 of the identity document history "Untitled-1" application "Adobe InDesign CS4", text of character 229 to 245 to 236 of the document id story character "Untitled-1" application "Adobe InDesign CS4" text of character 246 to character 275 236 of the document history»»» identity 'Untitled 1' application "Adobe InDesign CS4", text of 276 to 292 character character 236 of the identity document history "Untitled-1" application "Adobe InDesign CS4", text of character 293 to character 361 236 of the identity document history "Untitled-1" application "Adobe InDesign CS4"}»»

  • I can not download an update for security update on windows XP, error code: 0 x 80070643

    Thank you for helping me solve this problem

    Hi, Gyorgygjury,

    You receive the error 0 x 80070643, error code 0 x 643 or updates may be offered again when you try to install the .NET Framework updates when you use Windows Update or Microsoft Updates

    http://support.Microsoft.com/kb/976982

    NetFramework cleaning tool user guide

    http://blogs.msdn.com/b/astebner/archive/2008/08/28/8904493.aspx

    If the error code refers to Microsoft Security Essentials, follow the instructions given by Hazr

    http://answers.Microsoft.com/en-us/protect/Forum/protect_start/installation-error-0x80070643/908fad3e-F9FC-4d8a-BE83-ae7d3bc48db5

  • stylesheets with CSS classes included in possible springboard?

    Hey there.
    Is it possible to include a CSS stylesheet in my springboard custom-made?
    I can include them in features, but don't know how to import external files to the custom springboard (page amx)...

    Kind regards
    Pascal

    Hi, Pascal, in fact I would like to add to this so that everyone can see it.

    Yes, you can use custom CSS springboard and custom login screen. If they are HTML based, you would simply include the CSS with your HTML page. If these are AMX based, you will need to follow the SkinningDemo in order to extend or add new style classes. Look in the ApplicationController - Sources of the Application project - META-INF-adfmf - skins.xml file. It contains references to additional CSS classes that can be used in the entire application. Springboard and login page being application-level objects, these CSS/count files must be added to the project by the sample controller App.

    Quick explanation of the file adfmf - skins.xml because I was not clear in the call this morning. You can modify the existing CSS classes, delivered with the framework, or add new CSS classes for the frame. To change (or extend) - for example, to replace outputText color of the Red header facet, first add this to the file skins.xml


    mobileFusionFx.iOS
    mobileFusionFx
    mobileFusionFx
    CSS/myCSS.CSS

    Then in your file mycss.css, need you:

    . AMX-panelPage-facet-header > {.amx-outputText
    color: Red;
    }

    If you want to add a new CSS class, and then use it in your application, you must:


    mobileFusionFx
    CSS/myaddedcss. CSS

    And the myaddedcss.css would have the following new class that you can now use in your application:

    . {MyCSSClass}
    color: Green;
    }

    This would work against the entire application as a springboard and custom login app generated using AMX.

    Thank you

    Joe Huang

  • Attribute of RoboHelp 8 &amp; CSS class

    I tried to use the CSS class attributes, but it seemed to be recognized by Robohelp 8. Here is an example of my code:

    My external style sheet:

    {Test}

    Width: 562px;

    height: 16px;

    text-align: center;

    do-family: Arial, Helvetica, without serif.

    make-weight: bold;

    color: #ffff00;

    }

    Test1 {}

    background-color: #00900;

    }

    Test2 {}

    background-color: #008000;

    }

    In my file:

    < link rel = "Stylesheet" href = "layout.css" type = "text/css" / > "

    < div class = "Test1 Test" >

    I type something here

    < / div >

    The text I type is rendered but none of the formatting.  What I am doing wrong?

    Does anyone know if there is a problem with Robohelp 8 do not support CSS classes?

    Thank you!

    Post edited by: Lakooli

    Hello

    Add a period (.) before the class definitions in your css:

    . -> All items that have the test of the test class

    Or even better:

    div. Test-> DIV element only have test class

    Take a bow

    Willam

  • is there a code (not the css style) to leaders (periods) for a table of contents

    is there a code (not the css style) to leaders (periods) for a table of contents

    Well, in this case, you are drunk. The only thing left is to add leaders to hand.

  • Why the live preview is not displayed CSS code?

    Hello

    Preview live is supposed to show you what your website will look like. This is how it is supposed to work. How is it that when I add the CSS code in my html file, it does not add the design of live preview? Should I tweet a framework. For your information, I use the Dreamweaver application more up-to-date, running on a Macbook Pro retina run 13 inches at the beginning 2015 release the last OS X El Capitan. Any comments will be nice, I was very interested in the preview live and bought Adobe Creative cloud because of this feature.

    Thank you.

    DW favours incorporated only if they come after your external style sheet links.

    If still not appear embedded styles, check your code errors.  Also make sure that the CSS classes and ID is added to your HTML markup.

    NOTE:

    • Design mode is not capable of reproducing some advanced CSS.
    • Live View is better, but not perfect for all styles of rendering.
    • Overview in real browsers, it is still the best way to check your work.

    Nancy O.

  • Why Vista WMP can't play .asf files and why MS has not created a fix for this?

    Why Vista WMP can't play .asf files and why MS has not created a fix for this?

    Hi pdaamckechnie,

    The ASF Format (Advanced Systems) is the preferred Windows Media file format. With Windows Media Player, if the appropriate codecs are installed on your computer, you can play audio content, video content, or both, that is compressed with a wide variety of codecs and that is stored in an .asf file.

    You can check the link below for more information on the types of media files that supports Windows Media Player
    Information on the types of media files that supports Windows Media Player
    http://support.Microsoft.com/kb/316992

    See the link below for more information on codecs.
    Codecs: Frequently asked questions
    http://Windows.Microsoft.com/en-us/Windows-Vista/codecs-frequently-asked-questions

    Please post back and let us know if it helped to solve your problem.

    Kind regards
    KarthiK TP

  • Browser not finding css for HTML5 reactive

    Hello world

    I use Robohelp 2015 and raised a sensitive project HTML5.  It has been working great until today.  For some reason, Robohelp has decided to make my life miserable by not including not not the css Azure_Blue.

    It used to look like this...

    scrsht_1.png

    But now it looks like this...

    scrsht_2.png

    No idea how to solve this problem and why Robohelp decided to do?  Do not forget that I didn't take one thing with regard to css.

    Thank you.

    I fixed it just by going to the configuration set folder and right clicked on Azure_Blue, pod/screen output selected import then navigated to C:\Program Files (x 86) \Adobe\Adobe RoboHelp 2015\RoboHTML\ResponsiveHelpExt\Layouts\en_US and imported the Azure_Blue.slz file.  Had to remove the Azure_Blue existing in the presentation of the screen folder and renamed the Azure_Blue1 imported in Azure_Blue.  Recompiled and everything is good.  Don't understand why everything has been deleted in the first place.

  • Why not develop cela (or any software of drawing) for android?

    Ferrari (Adobe draw, for example) on Highway riddled with potholes, cracked, eroded (ipad with capacitive interface and stylus eraser size) = disaster.

    However:

    Ferrari (Adobe draw, for example) on freshly paved Highway (Galaxy notes with scanned fine tip pen) = exhilarating experience.

    This basic idea is so hard to understand?  Make you great illustration programs.  Why you would develop them for a platform that could run them?  Why we pretend that relying on an ipad is a state-of-the-art slick experience?  It sucks!  It's 2015 - should we not we have the best choices that go over 2 grand for a decent digital drawing experience?

    Sean,

    Not sure if you saw this blog post of April where we announced to come for some of our mobile applications on Android. Since this blog, we have published CC color, shape CC, CC of the brush and Photoshop Mix for Android. We are also currently working on an Android version of the draw by lot and if you want to help us beta test, please join the community app Android Adobe here.

    Thank you

    Will be

    Product Manager

  • By using the impl class for functions on a table

    I'm looking for a bit of advice on best practices.

    I have an app with 35 paintings.  I need to have a button "reset comes out" on each table.

    Each resetSort method should specify the table and the specific iterator.

    I tried to not having all the functions of 35 in the bean to support (1 for each table).

    Can I bind each table has associated feature class impl and each resetSort button call a method in this class?

    I use jdev 11.1.1.6.

    Any advice would be appreciated.

    Ray

    Then your real mission is to find the table for which the use wants to put sorting by pressing a button?

    This should be doable with the bean and a function that you bind to each of the reset buttons that you use for your tables.

    If your presentation is for the tables and the button to reset sorting, you can use an actionListener to the button. In the event of action, with the knowledge of the layout, it is easy to get to the table and once you have the table that you get the iterator from the table.

    Assuming that your tables are always surrounded by a panelCollection, who owns a toolbar now your reset button

    emptyText = "#{bindings." EmployeesView.viewable? "{'No data to display.': 'Access Denied.'}".

    fetchSize = "#{bindings." EmployeesView.rangeSize}' rowBandingInterval = '0 '.

    selectedRowKeys = ' #{bindings. " EmployeesView.collectionModel.selectedRow}.

    selectionListener = "#{bindings." RowSelection EmployeesView.collectionModel.makeCurrent}"="single"id ="t1">

    You can use this code actionListener

    {} public void resetSort (ActionEvent actionEvent)

    get the link container

    BindingContainer links is BindingContext.getCurrent () .getCurrentBindingsEntry ();.

    DCBindingContainer dcBindings = (DCBindingContainer) links;

    UIComponent toolbar (UIComponent) = actionEvent.getSource ();

    Try to get the source of the event table

    assuming that the button is in a toolbar of a panelCollection we get using parent.parent.children

    List of children of = toolbar.getParent () .getParent () .getChildren ();

    Table richeTableau = null;

    for (UIComponent uic: children) {}

    If (uic instanceof richeTableau) {}

    table = uic (richeTableau);

    break;

    }

    }

    If (table! = null) {}

    the model in the Collection is the object that provides the

    structured data

    for the table to render

    CollectionModel tableModel = (CollectionModel) table.getValue ();

    the purpose of the ADF that implements the CollectionModel is

    JUCtrlHierBinding. It is surrounded by the CollectionModel API

    JUCtrlHierBinding adfTableBinding = (JUCtrlHierBinding) tableModel.getWrappedData ();

    Acess the ADF, which is used with iterator

    ADF table binding

    DCIteratorBinding iterBind = adfTableBinding.getDCIteratorBinding ();

    table.queueEvent (new SortEvent (table, new ArrayList()));

    CurrentRow key = null;

    Line = iterBind.getCurrentRow ();

    If (line! = null)

    currentRow = row.getKey ();

    SC SortCriteria [] = new SortCriteria [0];

    iterBind.applySortCriteria (sc); iterBind is that the table iterator use

    iterBind.executeQuery ();

    If (currentRow! = null)

    iterBind.setCurrentRowWithKey (currentRow.toStringFormat (true));

    }

    }

    This code looks for the table of the source of the action, which is the button in the toolbar, get the tabel. Once you have the table you get the iterator from the table and reset the sort. This works as long as we find the source of the action table. If you always use the same layout for tables (for example. panelCollection > table), which is a practice of good uix, you have need of a bean to reset all tables. Simply link the toolbar button actionListner to the listener in the bean.

    Timo

  • Why not all the partition tables

    Hello

    In our project we propse to all partition tables (even if they are small, in MBs) in order to use the feature partiion exchange.
    But our DBAs say that maintenance will be a problem if create us partitions for each table. We said, only tablespace is fine for all partitions that we thought to maintain storage different is a problem.
    But always DBA are not approved.
    I just want to know what are the disadvantages of partitioning. Why DBA are generally against the idea of creating partitions. If we use the same storage space for all of the partitions is there any side down for creating partitions for each table?
    Is there is disadvantage?



    Thank you
    Pramod Garre

    Pramod Garre wrote:
    We plan to use range partitioning (in the quarters).
    There is a duty to remove a quarter of the table data, then refresh with new data as and when the user update some recored of frontend.this should arrive in real-time.

    Looks like you are having the app trigger partition management... which doesn't seem a good idea.
    It also looks like you really don't have justification for partitioning on a few tables. Far from being the "all" tables you inquired. And even that looks like your concept of the use of these scores may be wrong.

    Why not work with your databases instead of look at foreigners for the justification to fight them. Sounds to me like they are doing exactly what they were hired to do.

    We thought instead of delete and insert, if we use excahnge partitions, it will be real quick as Exchange just updated partition in the dictionary.
    On these lines, do you think that it be the disadvantages of the use of partitioning?

    Note: Delete and Insert works OK (2 minutes) compared to the swap partition (20 ms).

    And Yes, each table has PK.

    Thank you
    Pramod Garre

Maybe you are looking for