Choose Language Hide Translation Bar
Highlighted
bernie426
Level II

Use Combo box to select/deselect rows

I like to set up a combo box that can help me to select/deselect/exclude/hide some rows in some specific row,

Can any help out on my script below?

Many Thanks,

Names Default To Here(1);

dt=Current Data table();

MRB_List={"Bin1", "Bin2", "Bin3", "Bin4", "Bin5"};

Prod_List={"Binned"};

New Window("Production & MRB Filter",Outline Box("Production Selection/Exclusion"),

  cb=Combo Box ({"MRB","Prodction Goods"},

  selection = cb << getselected()

  << select  where( Contains( MRB_List, :BinClass_ )),//<< Enable <<Exclude <<Hide

  << select  where( Contains( Prod_List, :Category ))),//<< Enable <<Exclude <<Hide

)

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted
ian_jmp
Staff

Re: Use Combo box to select/deselect rows

Not sure I completely understand what you want. But this example should help with the 'mechanics' of the 'ComboBox()':

Names Default To Here(1);

// Make a table

n = 30;

MRB_List={"Bin1", "Bin2", "Bin3", "Bin4", "Bin5", , "Bin6", , "Bin7", , "Bin8", , "Bin9", , "Bin10"};

MRBVals = {};

for(i=1, i<=n, i++, InsertInto(MRBVals, MRB_List[RandomInteger(1, NItems(MRB_List))]));

dt = NewTable("Bin Data", NewColumn("BinClass_", Character, Nominal, Values(MRBVals)));

// Make the UI

New Window("MRB Filter",Outline Box("Bin Selection/Exclusion"), cb = Combo Box (MRB_List, cbScript));

cbScript =

Expr(

   myBin = cb << getselected;

   dt << clearRowStates;

   dt << selectWhere(:BinClass_ == myBin ) << Enable <<Exclude <<Hide;

);


View solution in original post

4 REPLIES 4
Highlighted
ian_jmp
Staff

Re: Use Combo box to select/deselect rows

Not sure I completely understand what you want. But this example should help with the 'mechanics' of the 'ComboBox()':

Names Default To Here(1);

// Make a table

n = 30;

MRB_List={"Bin1", "Bin2", "Bin3", "Bin4", "Bin5", , "Bin6", , "Bin7", , "Bin8", , "Bin9", , "Bin10"};

MRBVals = {};

for(i=1, i<=n, i++, InsertInto(MRBVals, MRB_List[RandomInteger(1, NItems(MRB_List))]));

dt = NewTable("Bin Data", NewColumn("BinClass_", Character, Nominal, Values(MRBVals)));

// Make the UI

New Window("MRB Filter",Outline Box("Bin Selection/Exclusion"), cb = Combo Box (MRB_List, cbScript));

cbScript =

Expr(

   myBin = cb << getselected;

   dt << clearRowStates;

   dt << selectWhere(:BinClass_ == myBin ) << Enable <<Exclude <<Hide;

);


View solution in original post

Highlighted
bernie426
Level II

Re: Use Combo box to select/deselect rows

Thanks Ian,

You are very close to what I want. However, one step further on my question

If the column I like to select and exclude contains information {Bin1, Bin2....Bin10, Run#1, Run#2....Run#100 Recheck} and I like to select and exclude as rows that are related to Bin, Run#, and Recheck. Then, the script below does not work out, seems like the "% " cannot work this way.

Is there any alternative way?

Regards,

Names Default To Here(1);

dt=curent data table();

MRB_List={"Bin%", "Run%", "Recheck%"};

New Window("MRB Filter",Outline Box("Bin Selection/Exclusion"), cb = Combo Box (MRB_List, cbScript));

cbScript =

Expr(

   myBin = cb << getselected;

   dt << clearRowStates;

   dt << selectWhere(:BinClass_ == myBin ) << Enable <<Exclude <<Hide;

Highlighted
ian_jmp
Staff

Re: Use Combo box to select/deselect rows

So, if I have understood correctly, you need to select multiple levels from the same column. 'ComboBox()' forces you to make one selection, but you can try 'ListBox()' instead (use the SHIFT or CONTROL keys as you click the items in the list):

Names Default To Here( 1 );

// Make a table

n = 30;

MRB_List = {"Bin1", "Bin2", "Bin3", "Bin4", "Bin5", , "Bin6", , "Bin7", , "Bin8", , "Bin9", , "Bin10"};

MRBVals = {};

For( i = 1, i <= n, i++,

Insert Into( MRBVals, MRB_List[Random Integer( 1, N Items( MRB_List ) )] )

);

dt = New Table( "Bin Data", New Column( "BinClass_", Character, Nominal, Values( MRBVals ) ) );

// Make the UI

New Window( "MRB Filter", Outline Box( "Bin Selection/Exclusion" ), lb = List Box( MRB_List, cbScript ) );

cbScript = Expr(

myBins = lb << getselected;

dt << clearRowStates;

dt << selectWhere( Contains(myBins, :BinClass_ )) << Enable << Exclude << Hide;

);

Highlighted
ram
ram
Level IV

Re: Use Combo box to select/deselect rows

Is it possible to select multiple in combox? e.g Bin1 and Bin4.

Thanks

Ran

Article Labels

    There are no labels assigned to this post.