Split Grid, loose sorting and filtering

Is this the intended behavior? I would rather have my sorting, and filtering retained when using the split knobs.

While it is not intended, it is a side effect of splitting. When you split the data grid you have 2 full grids which don't know anything of each other. So in the top you can use 1 filter while in the bottom use another and then compare data between the two.
-kris

Similar Messages

  • Problem with sorting and filtering of table

    Hello,
    using VC 7.1 SP5 I have created [this|http://img232.imageshack.us/img232/2460/screenshotsr0.png] model. The webservice returns a collection of structured elements. The table is meant to display values of top-level attributes. This works as expected.
    However, the table cannot be sorted or filtered. What is the reason for this? How can I fix that?
    I tried to store the result of the web service in a data bridge. That did not succeed.
    Best regards
    Alexander

    Hi Natty,
    How are you trying to sort it?
    I want to be able to sort the table by clicking on the table column headers. Furthermore, I want be able to filter the table by using the built-in table feature. However, table sorting and filtering seem to be disabled for this particular table, whereas other tables in my model provide the desired features.
    Best regards
    Alexander

  • JTable sorting and filtering

    I want to sort and Filter JTable.
    Sample code is avialable for this ?.
    Also i would like to know about 3rd party classes.
    Renjith

    Hi,
    There is a such sample on the tutorials for swing/JTable. In this tutorial, u will find 2 files and then make the corresponding classes :
    TableMap and TableSorter
    u can use them like this :
    TableSorter sorter = new TableSorter(myModel);
    //JTable table = new JTable(myModel); //OLD
    JTable table = new JTable(sorter);
    sorter.addMouseListenerToHeaderInTable(table);
    It is very simple, and you can easily modifie these classes to add filters..
    Regards, JFB

  • JTable allows sorting and filtering at same time

    Hi All:
    Any one has experience about having a JTable allows column sorting and row filtering at same time ?
    I've got JTable allows sorting, as well as a JTable allows filtering; but had a hard time to combine these functionality together. It seems I can't use separate TableModel since I need perform these two operations together on on JTable.
    any help is going to be greatly appreciated!

    Have a look at the QuoteTableModel at www.javapractices.com/Topic162.cjp
    (almost at the bottom of the page)

  • Sorting and filtering by select-multi person or group field in the list in SharePoint 2013

    Hi everybody,
    In SharePoint 2013, I have defined a column as "Person or Group" field, which you allow for multiple selections. when I try to sort/filter it by this field in the list. The field doesn't show up in the dropdown. If I changed "Allow multiple
    selections" option to "No" by clicking the column name to edit it in "List Settings", the field can show up sort in the dropdown.
    How about support sorting and filter by select-multiple "Person or Group" field in sharepoint 2013?
    BTW, in SharePoint 2010, it can support this issue no matter what the "Allow multiple selections" option the request is.
    Any help would be great!
    Thanks,
    Jodie

    Hi Jodie,
    Can you please give this as a try.
    To fix the Filter Issue on Assigned To Column. We need to run the following scripts.
    The field which allows more than one values or which allows multiple selections. The multi-valued fileds are non-sortable,
    non-filterable. Multi-valued fields cannot be indexed
    $web=Get-SPWeb
    $list=$web.Lists[] $field=$list.Fields[ColumnName] $strSchema=$field.SchemaXml $str=Schema$strSchema.Replace("Sortable=`"FALSE`"","Sortable=`"true`"")
    $field.SchemaXml = $strSchema
    Krishana Kumar http://www.mosstechnet-kk.com
    Thanks for your reply, I have tried to run the scripts, but it still cannot work. The following is my scripts:
    $web=Get-SPWeb 'http://cst-server-01'
    $list=$.web.Lists["Product Request"]
    $field=$list.Fields["Applicant"]
    $strSchema=$field.SchemaXml
    $str=Schema$strSchema.Replace("Sortable='"FALSE'"", "Sortable='"True'"")
    $field.SchemaXml = $strSchema

  • Question on Sorting and Filtering Viewlet for CR for VS10 Production Rel

    The demo shows great and easy to implement features but near the end when the demonstrator clicks on the Sort for Product Type, the report doesn't sort by this column. Was this because he needed to press "Apply" as he did when he filtered the report by Customer Name fro the change to take effect?

    A promising intro, how did the story unfold?

  • List view webpart sorting and filtering requires sign-in.

    I have a list view webpart on a page - both the page and the list are viewable to anonymous users.  The page loads great, but as soon as an anonymous user tries to sort, filter, or use the stock list search box, a login prompt is encountered.  Is
    there a way around this?

    Hi,
    For your issue, I have done a test in SharePoint 2013, and it works fine, I can’t reproduce your issue.
    Navigate to Central Administration ->Application Management->Manage web applications-> Select the web applications and click the “Authentication providers”->Click “Default” link
    “->Check the “Enable anonymous access” option->save
    Navigate to one of the site collections under the configured web application and go to Configure -> Site Settings-> Under the “Users and permissions” section, click the Site 
    permissions->click Anonymous Access in the Ribbon->In this dialog you have three configuration options, I checked Entire Web site.
    Whether the issue occurs in every site collection. Do a test in another site collection, compare the results.
    Whether the issue occurs in every web application. Do a test in another web application, compare the results.
    Here are some useful posts about how to enable anonymous access to a SharePoint 2013 site, you can use as a reference:
    http://blog.cloudshare.com/2012/10/15/how-to-enable-anonymous-access-to-a-sharepoint-2013-site/
    Best regards,
    Lisa Chen

  • POWL ---SORTING AND FILTERING

    Hi,
    Can any one tell me how to  change the column positions and column name .. of a powl table and how to add custom fields into that?

    Try to find the POWL feeder class, this will give you the way for doing that.
    http://wiki.sdn.sap.com/wiki/display/WDABAP/DocumentationInformationabout+POWL
    Best regards,
    Rohit

  • Custom tool bar for sorting and summing in alv grid

    what is the function module to use the tool bar in the alv output screen which has - summing , sorting and other button above the alv grid control.

    It is part of the class CL_GUI_ALV_GRID. Have a look at this class, especially the methods within this class, and search for 'SORT' or 'TOTAL' using the button with 'Binoculars' icon.

  • Hi everybody, I am in Turkey on a long assignment, I need help solving a big problem on my macbook pro os 10.9.3. The other week my wife visited some website and now we have a redirect virus of some sort, and every other time when we click

    Hi everybody, I am in Turkey on a long assignment, I need help solving a big problem on my macbook pro os 10.9.3. The other week my wife visited some website and now we have a redirect virus of some sort, and every other time when we click on a link or anywhere on the page we are redirected to this casino web site, https://casino.7bets10.com/tr/?from=hy9yKXD43jSC-8Oxbw4femNd7ZgqdRLk-dHJpeG9uaXR l. Its the same whether on Chrome or Safari. Does anyone have a solution, thank you!

    1. This procedure is a diagnostic test. It changes nothing, for better or worse, and therefore will not, in itself, solve the problem. But with the aid of the test results, the solution may take a few minutes, instead of hours or days.
    Don't be put off merely by the seeming complexity of these instructions. The process is much less complicated than the description. You do harder tasks with the computer all the time.
    2. If you don't already have a current backup, back up all data before doing anything else. The backup is necessary on general principle, not because of anything in the test procedure. Backup is always a must, and when you're having any kind of trouble with the computer, you may be at higher than usual risk of losing data, whether you follow these instructions or not.
    There are ways to back up a computer that isn't fully functional. Ask if you need guidance.
    3. Below are instructions to run a UNIX shell script, a type of program. All it does is to collect information about the state of the computer. That information goes nowhere unless you choose to share it. However, you should be cautious about running any kind of program (not just a shell script) at the behest of a stranger. If you have doubts, search this site for other discussions in which this procedure has been followed without any report of ill effects. If you can't satisfy yourself that the instructions are safe, don't follow them. Ask for other options.
    Here's a summary of what you need to do, if you choose to proceed:
    Copy a line of text in this window to the Clipboard.
    Paste into the window of another application.
    Wait for the test to run. It usually takes a few minutes.
    Paste the results, which will have been copied automatically, back into a reply on this page.
    The sequence is: copy, paste, wait, paste again. You don't need to copy a second time. Details follow.
    4. You may have started the computer in "safe" mode. Preferably, these steps should be taken in “normal” mode, under the conditions in which the problem is reproduced. If the system is now in safe mode and works well enough in normal mode to run the test, restart as usual. If you can only test in safe mode, do that.
    5. If you have more than one user, and the one affected by the problem is not an administrator, then please run the test twice: once while logged in as the affected user, and once as an administrator. The results may be different. The user that is created automatically on a new computer when you start it for the first time is an administrator. If you can't log in as an administrator, test as the affected user. Most personal Macs have only one user, and in that case this section doesn’t apply. Don't log in as root.
    6. The script is a single long line, all of which must be selected. You can accomplish this easily by triple-clicking anywhere in the line. The whole line will highlight, though you may not see all of it in the browser window, and you can then copy it. If you try to select the line by dragging across the part you can see, you won't get all of it.
    Triple-click anywhere in the line of text below on this page to select it:
    PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/libexec;clear;cd;p=(Software Hardware Memory Diagnostics Power FireWire Thunderbolt USB Fonts 51 4 1000 25 5120 KiB/s 1024 85 \\b%% 20480 1 MB/s 25000 ports ' \*AutoCad \*dropbox \*GoogleDr\* vidinst\* ' DYLD_INSERT_LIBRARIES\ DYLD_LIBRARY_PATH -86 ` route -n get default|awk '/e:/{print $2}' ` 25 N\\/A down up 102400 25600 recvfrom sendto CFBundleIdentifier 25 25 25 1000 MB com.apple.AirPortBaseStationAgent 464843899 );N5=${#p[@]};p[N5]=` networksetup -listnetworkserviceorder|awk ' NR>1 { sub(/^\([0-9]+\) /,"");n=$0;getline;} $NF=="'${p[26]}')" { sub(/.$/,"",$NF);print n;exit;} ' `;f=('\n%s: %s\n' '\n%s\n\n%s\n' '\nRAM details\n%s\n' %s\ %s '%s\n-\t%s\n' );S0() { echo ' { q=$NF+0;$NF="";u=$(NF-1);$(NF-1)="";gsub(/^ +| +$/,"");if(q>='${p[$1]}') printf("%s (UID %s) is using %s '${p[$2]}'",$0,u,q);} ';};s=(' /^ *$|CSConfigDot/d;s/^ */  /;s/[-0-9A-Fa-f]{22,}/UUID/g;s/(ochat)\.[^.]+(\..+)/\1\2/;/Shared/!s/\/Users\/[^/]+/~/g ' ' s/^ +//;5p;6p;8p;12p;' ' {sub(/^ +/,"")};NR==6;NR==13&&$2<'${p[10]} ' 1s/://;3,6d;/[my].+:/d;s/^ {4}//;H;${ g;s/\n$//;/s: [^EO]|x([^08]|02[^F]|8[^0])/p;} ' ' 5h;6{ H;g;/P/!p;} ' ' ($1~/^Cy/&&$3>'${p[11]}')||($1~/^Cond/&&$2!~/^N/) ' ' /:$/{ N;/:.+:/d;s/ *://;b0'$'\n'' };/^ *(V.+ [0N]|Man).+ /{ s/ 0x.... //;s/[()]//g;s/(.+: )(.+)/ (\2)/;H;};$b0'$'\n'' d;:0'$'\n'' x;s/\n\n//;/Apple[ ,]|Intel|SMSC/d;s/\n.*//;/\)$/p;' ' s/^.*C/C/;H;${ g;/No th|pms/!p;} ' '/= [^GO]/p' '{$1=""};1' ' /Of/!{ s/^.+is |\.//g;p;} ' ' $0&&!/ / { n++;print;} END { if(n<200) print "com.apple.";} ' ' $3~/[0-9]:[0-9]{2}$/ { gsub(/:[0-9:a-f]{14}/,"");} { print|"tail -n'${p[12]}'";} ' ' NR==2&&$4<='${p[13]}' { print $4;} ' ' END { $2/=256;if($2>='${p[15]}') print int($2) } ' ' NR!=13{next};{sub(/[+-]$/,"",$NF)};'"`S0 21 22`" 'NR!=2{next}'"`S0 37 17`" ' NR!=5||$8!~/[RW]/{next};{ $(NF-1)=$1;$NF=int($NF/10000000);for(i=1;i<=3;i++){$i="";$(NF-1-i)="";};};'"`S0 19 20`" 's:^:/:p' '/\.kext\/(Contents\/)?Info\.plist$/p' 's/^.{52}(.+) <.+/\1/p' ' /Launch[AD].+\.plist$/ { n++;print;} END { print "'${p[41]}'";if(n<200) print "/System/";} ' '/\.xpc\/(Contents\/)?Info\.plist$/p' ' NR>1&&!/0x|\.[0-9]+$|com\.apple\.launchctl\.(Aqua|Background|System)$|'${p[41]}'/ { print $3;} ' ' /\.(framew|lproj)|\):/d;/plist:|:.+(Mach|scrip)/s/:[^:]+//p ' '/root/p' ' !/\/Contents\/.+\/Contents|Applic|Autom|Frameworks/&&/Lib.+\/Info.plist$/ { n++;print;} END { if(n<1000) print "/System/";} ' '/^\/usr\/lib\/.+dylib$/p' ' /Temp|emac/ { next;} /(etc|Preferences|Launch[AD].+)\// { sub(".(/private)?","");n++;print;} END { print "'${p[41]}'.plist\t'${p[42]}'";if(n<500) print "Launch";} ' ' /\/(Contents\/.+\/Contents|Frameworks)\/|\.wdgt\/.+\.([bw]|plu)/d;p;' 's/\/(Contents\/)?Info.plist$//;p' ' { gsub("^| |\n","\\|\\|kMDItem'${p[35]}'=");sub("^...."," ") };1 ' p '{print $3"\t"$1}' 's/\'$'\t''.+//p' 's/1/On/p' '/Prox.+: [^0]/p' '$2>'${p[9]}'{$2=$2-1;print}' ' BEGIN { i="'${p[26]}'";M1='${p[16]}';M2='${p[18]}';M3='${p[31]}';M4='${p[32]}';} !/^A/ { next;} /%/ { getline;if($5<M1) a="user "$2"%, system "$4"%";} /disk0/&&$4>M2 { b=$3" ops/s, "$4" blocks/s";} $2==i { if(c) { d=$3+$4+$5+$6;next;};if($4>M3||$6>M4) c=int($4/1024)" in, "int($6/1024)" out";} END { if(a) print "CPU: "a;if(b) print "I/O: "b;if(c) print "Net: "c" (KiB/s)";if(d) print "Net errors: "d" packets/s";} ' ' /r\[0\] /&&$NF!~/^1(0|72\.(1[6-9]|2[0-9]|3[0-1])|92\.168)\./ { print $NF;exit;} ' ' !/^T/ { printf "(static)";exit;} ' '/apsd|OpenD/!s/:.+//p' ' (/k:/&&$3!~/(255\.){3}0/ )||(/v6:/&&$2!~/A/ ) ' ' $1~"lR"&&$2<='${p[25]}';$1~"li"&&$3!~"wpa2";' ' BEGIN { FS=":";} { n=split($3,a,".");sub(/_2[01].+/,"",$3);print $2" "$3" "a[n]" "$1;b=b$1;} END { if(b) print("\n\t* Code injection");} ' ' NR!=4{next} {$NF/=10240} '"`S0 27 14`" ' END { if($3~/[0-9]/)print$3;} ' ' BEGIN { L='${p[36]}';} !/^[[:space:]]*(#.*)?$/ { l++;if(l<=L) f=f"\n  "$0;} END { F=FILENAME;if(!F) exit;if(!f) f="\n  [N/A]";"file -b "F|getline T;if(T!~/^(AS.+ (En.+ )?text$|POSIX sh.+ text ex)/) F=F" ("T")";printf("\nContents of %s\n%s\n",F,f);if(l>L) printf("\n  ...and %s more line(s)\n",l-L);} ' ' /^ +[NP].+ =/h;/^( +D.+[{]|[}])/{ g;s/.+= //p;};' ' /^ +B/{ s/.+= |(-[0-9]+)?\.s.+//g;p;} ' ' END{print NR} ' ' /id: N|te: Y/{i++} END{print i} ' ' / / { print "'"${p[28]}"'";exit;};1;' '/ en/!s/\.//p' ' NR!=13{next};{sub(/[+-M]$/,"",$NF)};'"`S0 39 40`" ' $10~/\(L/&&$9!~"localhost" { sub(/.+:/,"",$9);print $1": "$9;} ' '/^ +r/s/.+"(.+)".+/\1/p' 's/(.+\.wdgt)\/(Contents\/)?Info\.plist$/\1/p' 's/^.+\/(.+)\.wdgt$/\1/p' 's/0/Off/p' );c1=(system_profiler pmset\ -g nvram fdesetup find syslog df vm_stat sar ps sudo\ crontab sudo\ iotop top pkgutil PlistBuddy whoami cksum kextstat launchctl sudo\ launchctl crontab 'sudo defaults read' stat lsbom mdfind ' for i in ${p[24]};do ${c1[18]} ${c2[27]} $i;done;' defaults\ read scutil sudo\ dtrace sudo\ profiles sed\ -En awk /S*/*/P*/*/*/C*/*/airport networksetup mdutil sudo\ lsof test );c2=(com.apple.loginwindow\ LoginHook '-c Print /L*/P*/loginw*' '-c Print L*/P*/*loginit*' '-c Print L*/Saf*/*/E*.plist' '~ $TMPDIR.. \( -flags +sappnd,schg,uappnd,uchg -o ! -user $UID -o ! -perm -600 \)' '.??* -path .Trash -prune -o -type d -name *.app -print -prune' '-c Print\ :'${p[35]}' 2>&1' '-c Print\ :Label 2>&1' '{/,}L*/{Con,Pref}* -type f ! -size 0 -name *.plist -exec plutil -s {} \;' "-f'%N: %l' Desktop L*/Keyc*" therm sysload boot-args status " -F '\$Time \$Message' -k Sender kernel -k Message Req 'bad |Beac|caug|dead[^bl]|FAIL|fail|GPU |hfs: Ru|inval|jnl:|last value [1-9]|n Cause: -|NVDA\(|pagin|proc: t|Roamed|rror|ssert|Thrott|tim(ed? ?|ing )o|WARN' -k Message Rne 'Goog|ksadm|SMC:' -o -k Sender fseventsd -k Message Req 'SL' " '-du -n DEV -n EDEV 1 10' 'acrx -o comm,ruid,%cpu' '-t1 10 1' '-f -pfc /var/db/r*/com.apple.*.{BS,Bas,Es,J,OSXU,Rem,up}*.bom' '{/,}L*/Lo*/Diag* -type f -regex .\*[cgh] ! -name *ag \( -exec grep -lq "^Thread c" {} \; -exec printf \* \; -o -true \) -execdir stat -f:%Sc:%N -t%F {} \;|sort -t: -k2 |tail -n'${p[38]} '-L {/{S*/,},}L*/Lau* -type f' '-L /{S*/,}L*/StartupItems -type f -exec file {} +' '-L /S*/L*/{C*/Sec*A,E}* {/,}L*/{A*d,Ca*/*/Ex,Compon,Ex,In,iTu,Keyb,Mail/B,P*P,Qu*T,Scripti,Sec,Servi,Spo,Widg}* -type f -name Info.plist' '/usr/lib -type f -name *.dylib' `awk "${s[31]}"<<<${p[23]}` "/e*/{auto,{cron,fs}tab,hosts,{[lp],sy}*.conf,pam.d/*,ssh{,d}_config,*.local} {,/usr/local}/etc/periodic/*/* /L*/P*{,/*}/com.a*.{Bo,sec*.ap}*t /S*/L*/Lau*/*t .launchd.conf" list getenv /Library/Preferences/com.apple.alf\ globalstate --proxy '-n get default' -I --dns -getdnsservers\ "${p[N5]}" -getinfo\ "${p[N5]}" -P -m\ / '' -n1 '-R -l1 -n1 -o prt -stats command,uid,prt' '--regexp --only-files --files com.apple.pkg.*|sort|uniq' -kl -l -s\ / '-R -l1 -n1 -o mem -stats command,uid,mem' -i4TCP:0-1023 com.apple.dashboard\ layer-gadgets '-d /L*/Mana*/$USER&&echo On' '-app Safari WebKitDNSPrefetchingEnabled' );N1=${#c2[@]};for j in {0..8};do c2[N1+j]=SP${p[j]}DataType;done;N2=${#c2[@]};for j in 0 1;do c2[N2+j]="-n ' syscall::'${p[33+j]}':return { @out[execname,uid]=sum(arg0) } tick-10sec { trunc(@out,1);exit(0);} '";done;l=(Restricted\ files Hidden\ apps 'Elapsed time (s)' POST Battery Safari\ extensions Bad\ plists 'High file counts' User Heat System\ load boot\ args FileVault Diagnostic\ reports Log 'Free space (MiB)' 'Swap (MiB)' Activity 'CPU per process' Login\ hook 'I/O per process' Mach\ ports kexts Daemons Agents launchd Startup\ items Admin\ access Root\ access Bundles dylibs Apps Font\ issues Inserted\ dylibs Firewall Proxies DNS TCP/IP Wi-Fi Profiles Root\ crontab User\ crontab 'Global login items' 'User login items' Spotlight Memory Listeners Widgets Parental\ Controls Prefetching );N3=${#l[@]};for i in 0 1 2;do l[N3+i]=${p[5+i]};done;N4=${#l[@]};for j in 0 1;do l[N4+j]="Current ${p[29+j]}stream data";done;A0() { id -G|grep -qw 80;v[1]=$?;((v[1]==0))&&sudo true;v[2]=$?;v[3]=`date +%s`;clear >&-;date '+Start time: %T %D%n';};for i in 0 1;do eval ' A'$((1+i))'() { v=` eval "${c1[$1]} ${c2[$2]}"|'${c1[30+i]}' "${s[$3]}" `;[[ "$v" ]];};A'$((3+i))'() { v=` while read i;do [[ "$i" ]]&&eval "${c1[$1]} ${c2[$2]}" \"$i\"|'${c1[30+i]}' "${s[$3]}";done<<<"${v[$4]}" `;[[ "$v" ]];};A'$((5+i))'() { v=` while read i;do '${c1[30+i]}' "${s[$1]}" "$i";done<<<"${v[$2]}" `;[[ "$v" ]];};';done;A7(){ v=$((`date +%s`-v[3]));};B2(){ v[$1]="$v";};for i in 0 1;do eval ' B'$i'() { v=;((v['$((i+1))']==0))||{ v=No;false;};};B'$((3+i))'() { v[$2]=`'${c1[30+i]}' "${s[$3]}"<<<"${v[$1]}"`;} ';done;B5(){ v[$1]="${v[$1]}"$'\n'"${v[$2]}";};B6() { v=` paste -d: <(printf "${v[$1]}") <(printf "${v[$2]}")|awk -F: ' {printf("'"${f[$3]}"'",$1,$2)} ' `;};B7(){ v=`grep -Fv "${v[$1]}"<<<"$v"`;};C0(){ [[ "$v" ]]&&echo "$v";};C1() { [[ "$v" ]]&&printf "${f[$1]}" "${l[$2]}" "$v";};C2() { v=`echo $v`;[[ "$v" != 0 ]]&&C1 0 $1;};C3() { v=`sed -E "$s"<<<"$v"`&&C1 1 $1;};for i in 1 2;do for j in 2 3;do eval D$i$j'(){ A'$i' $1 $2 $3; C'$j' $4;};';done;done;{ A0;A2 0 $((N1+1)) 2;C0;A1 0 $N1 1;C0;B0;C2 27;B0&&! B1&&C2 28;D12 15 37 25 8;A1 0 $((N1+2)) 3;C0;D13 0 $((N1+3)) 4 3;D23 0 $((N1+4)) 5 4;for i in 0 1 2;do D13 0 $((N1+5+i)) 6 $((N3+i));done;D13 1 10 7 9;D13 1 11 8 10;D22 2 12 9 11;D12 3 13 10 12;D23 4 19 44 13;D23 5 14 12 14;D22 6 36 13 15;D22 7 37 14 16;D23 8 15 38 17;D22 9 16 16 18;B1&&{ D22 11 17 17 20;for i in 0 1;do D22 28 $((N2+i)) 45 $((N4+i));done;};D22 12 44 54 45;D22 12 39 15 21;A1 13 40 18;B2 4;B3 4 0 19;A3 14 6 32 0;B4 0 5 11;A1 17 41 20;B7 5;C3 22;B4 4 6 21;A3 14 7 32 6;B4 0 7 11;B3 4 0 22;A3 14 6 32 0;B4 0 8 11;B5 7 8;B1&&{ A2 19 26 23;B7 7;C3 23;};A2 18 26 23;B7 7;C3 24;A2 4 20 21;B7 6;B2 9;A4 14 7 52 9;B2 10;B6 9 10 4;C3 25;D13 4 21 24 26;B4 4 12 26;B3 4 13 27;A1 4 22 29;B7 12;B2 14;A4 14 6 52 14;B2 15;B6 14 15 4;B3 0 0 30;C3 29;A1 4 23 27;B7 13;C3 30;D13 24 24 32 31;D13 25 37 32 33;A2 23 18 28;B2 16;A2 16 25 33;B7 16;B3 0 0 34;B2 21;A6 47 21&&C0;B1&&{ D13 21 0 32 19;D13 10 42 32 40;D22 29 35 46 39;};D13 14 1 48 42;D12 34 43 53 44;D22 0 $((N1+8)) 51 32;D13 4 8 41 6;D12 26 28 35 34;D13 27 29 36 35;A2 27 32 39&&{ B2 19;A2 33 33 40;B2 20;B6 19 20 3;};C2 36;D23 33 34 42 37;B1&&D23 35 45 55 46;D23 32 31 43 38;D12 36 47 32 48;D13 20 42 32 41;D13 14 2 48 43;D13 4 5 32 1;D22 4 4 50 0;D13 14 3 49 5;D12 26 48 59 49;B3 4 22 57;A1 26 46 56;B7 22;B3 0 0 58;C3 47;D23 22 9 37 7;A7;C2 2;} 2>/dev/null|pbcopy;exit 2>&-
    Copy the selected text to the Clipboard by pressing the key combination command-C.
    7. Launch the built-in Terminal application in any of the following ways:
    Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
    In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
    Open LaunchPad. Click Utilities, then Terminal in the icon grid.
    Click anywhere in the Terminal window and paste by pressing command-V. The text you pasted should vanish immediately. If it doesn't, press the return key.
    8. If you see an error message in the Terminal window such as "syntax error," enter
    exec bash
    and press return. Then paste the script again.
    9. If you're logged in as an administrator, you'll be prompted for your login password. Nothing will be displayed when you type it. You will not see the usual dots in place of typed characters. Make sure caps lock is off. Type carefully and then press return. You may get a one-time warning to be careful. If you make three failed attempts to enter the password, the test will run anyway, but it will produce less information. In most cases, the difference is not important. If you don't know the password, or if you prefer not to enter it, press the key combination control-C or just press return three times at the password prompt. Again, the script will still run.
    If you're not logged in as an administrator, you won't be prompted for a password. The test will still run. It just won't do anything that requires administrator privileges.
    10. The test may take a few minutes to run, depending on how many files you have and the speed of the computer. A computer that's abnormally slow may take longer to run the test. While it's running, there will be nothing in the Terminal window and no indication of progress. Wait for the line
    [Process completed]
    to appear. If you don't see it within half an hour or so, the test probably won't complete in a reasonable time. In that case, close the Terminal window and report the results. No harm will be done.
    11. When the test is complete, quit Terminal. The results will have been copied to the Clipboard automatically. They are not shown in the Terminal window. Please don't copy anything from there. All you have to do is start a reply to this comment and then paste by pressing command-V again.
    At the top of the results, there will be a line that begins with the words "Start Time." If you don't see that, but instead see a mass of gibberish, you didn't wait for the "Process completed" message to appear in the Terminal window. Please wait for it and try again.
    If any private information, such as your name or email address, appears in the results, anonymize it before posting. Usually that won't be necessary.
    12. When you post the results, you might see the message, "You have included content in your post that is not permitted." It means that the forum software has misidentified something in the post as a violation of the rules. If that happens, please post the test results on Pastebin, then post a link here to the page you created.
    Note: This is a public forum, and others may give you advice based on the results of the test. They speak only for themselves, and I don't necessarily agree with them.
    Copyright © 2014 by Linc Davis. As the sole author of this work, I reserve all rights to it except as provided in the Use Agreement for the Apple Support Communities website ("ASC"). Readers of ASC may copy it for their own personal use. Neither the whole nor any part may be redistributed.

  • Sorting and Searching String (Please help me)

    Hi, Could somn please be of any help here. I am trying to sort this string in alphabetical order and then search for data available but I am not makingprogress with the code. Does anyone have any advise or better still the code to solve this problem... This is hat I have at the moment
    import java.util.*;
    import java.io.PrintStream;
    import java.io.File;
    import java.io.FileNotFoundException;
    public class coursework2
         public static final int MAX_RECORDS = 20;
         public static String lastName[] = new String[MAX_RECORDS];
         public static String firstName[] = new String[MAX_RECORDS];
         public static String telNumber[] = new String[MAX_RECORDS];
         public static String emailAddress[] = new String[MAX_RECORDS];
         public static int read_in_file(String file_name)
              Scanner read_in;
              Scanner line;
              int record_count = 0;
              String record;
              try
                   read_in = new Scanner(new File(file_name));
                   // read in one line at a time
                   read_in.useDelimiter(System.getProperty("line.separator"));
                   while (read_in.hasNext())
                        // Test to see if there are too many records in the file
                        if (record_count == MAX_RECORDS)
                             System.out.printf("Only %d records allowed in file", MAX_RECORDS);
                             System.exit(0);
                        // read in record
                        record = new String(read_in.next());
                        // Split the record up into its fields and store in
                        // appropriate arrays
                        line = new Scanner(record);
                        line.useDelimiter("\\s*,,\\s*");
                        lastName[record_count] = line.next();
                        firstName[record_count] = line.next();
                        telNumber[record_count] = line.next();
                        emailAddress[record_count] = line.next();
                        // Increment record count
                        record_count++;
              catch (FileNotFoundException e)
                   e.printStackTrace();
              return record_count;
         public static void write_out_file(int no_of_records, String filename)
              PrintStream write_out;
              int counter;
              try
                   // Create new file
                   write_out = new PrintStream(new File(filename));
                   // Output all reacords
                   for(counter = 0; counter < no_of_records; counter++)
                        // Output a record
                        write_out.print(lastName[counter]);
                        write_out.print(",,");
                        write_out.print(firstName[counter]);
                        write_out.print(",,");
                        write_out.print(telNumber[counter]);
                        write_out.print(",,");
                        write_out.println(emailAddress[counter]);
                   // Close file
                   write_out.close();
              catch (FileNotFoundException e)
                   e.printStackTrace();
         // Your 'functions' go here
         //This code sorts out the record after loaded into alphabetical order using
         //the selection sort method
         public static void sort()
         // Your 'main' code goes here
         //The code below uses a binary search method to search for record because
         //record have been sorted and this would make search faster and more efficient
         public static boolean linearSearch(String strFirstName, String strLastName)
              //Set-up data_input and declare variables
              //This linear search searches for record in the contact application.
              //Search for a record using surname only
                   int i = 0;
                   boolean found = false;
                   while (!found && i < lastName.length)
                        if(strFirstName.equals("") && strLastName.equals(""))
                             return true;
                        if(lastName.equalsIgnoreCase(strLastName)){
                   //List records from surname only
                   System.out.println("Enter your search criteria (last name only):");
                        System.out.print(lastName[i] +     "\t" + firstName[i] + "\t" + telNumber[i] +"\t" + emailAddress[i]);
                        System.out.println("");
                        if (lastName[i].compareTo(strLastName) == 0)
                             //Compare the last name values and type to make sure they are same.
                             found = true;
                                  i++;
                                  System.out.print(lastName[i] +     "\t" + firstName[i] + "\t" + telNumber[i] +"\t" + emailAddress[i]);
                                       System.out.println("");
                             return found;
              //Search for a record using first name only
         public static void main(String[] args)
              // Set-up data input
              Scanner data_input = new Scanner(System.in);
              // Declare Variables
              int number_of_records;
              String filename;
              int counter;
              // Get filename and read in file
              System.out.print("Enter the masterfile file name: ");
              filename = data_input.next();
              number_of_records = read_in_file("data2.dat");
              //Get new filename and write out the file
              System.out.print("Enter new masterfile file name: ");
              filename = data_input.next();
              //System.out.println("Enter your search criteria (first or last name):");
              linearSearch("*", "");
    Am very sorry this is long, the file should be sorted after it is loaded and I have that, You can make up some data with last ane, first name, tel and email to show me an example. Thanks alot
    Joseph

    Hi Monica, Thanks for you patience with me.
    I have tried writing a selection sort method but am having some errors. Could you kindly have a lookand correct me please.
    This is the code i wrote
    public static void selectionSort(Comparable [] data)
              String strFirstName;
              String strLastName;
              Comparable temp;
              for(int i = 0; i < lastName.length; i++)
                   lastName = index;
                   for (int j = i; j < lastName.length; j++)
                        if (lastName[j].compareTo(lastName) < 0)
                             lastName[j] = lastName[i];
                   //Swap the string values
                   temp = lastName[j];
                   lastName[j] = lastName[i];
                   lastName[i] = temp;
    As you requested, below are 4 error messages I had
    E:\coursework2.java:101: cannot find symbol
    symbol : variable index
    location: class coursework2
                   lastName = index;
    ^
    E:\coursework2.java:107: cannot find symbol
    symbol : variable j
    location: class coursework2
                   temp = lastName[j];
    ^
    E:\coursework2.java:108: cannot find symbol
    symbol : variable j
    location: class coursework2
                   lastName[j] = lastName[i];
    ^
    E:\coursework2.java:109: incompatible types
    found : java.lang.Comparable
    required: java.lang.String
                   lastName[i] = temp;
    ^
    4 errors
    JCompiler done.
    JCompiler ready.
    Joseph

  • Retrieving sort and filter criteria for interactive report

    I have developed a test management system in APEX. Users log in and see an interactive report with their assignments. Each test they've been assigned occupies one row.
    There is an "Execute" link for each row that takes the user to the test execution page, where they can see the input steps / expected results and report the test passing or failing.
    I've implemented "Next >" and "< Previous" buttons on the execution page, so the user can immediately go forwards or backwards in his assigned tests without having to return to the assignments page and click the Execute link on the next or previous row.
    The test execution page figures out what the next and previous assigned test is using the LAG and LEAD functions, like this:
    lag(assignment_id) over (order by ref_num_full) prev_id,
    lead(assignment_id) over (order by ref_num_full) next_id
    Notice that I've "hardcoded" the over clause to be the reference number of the test.
    The problem here - this solution ignores any custom sorts or filters the user has put in place on the assignments (interactive) report.
    Is there a way I can "grab" the interactive report (1) sort criteria and (2) filter criteria dynamically? I'm thinking I could then use dynamic SQL to build an OVER clause used in the lag/lead calls so that the application now follows whatever sort and/or filter criteria the user has put in place.
    Any help is greatly appreciated...thanks!!

    Thanks WTine!
    I took a look and determined
    - I can get the sort criteria from the APEX_APPLICATION_PAGE_IR_RPT view (SORT_COLUMN_# and SORT_DIRECTION_# columns)
    - I can get the filter criteria from the APEX_APPLICATION_PAGE_IR_COND view
    Regards, Rich

  • Using Display tag library - sorting and Paging

    I have generated a grid using this tag library which has number of in built features. Out of which on is grid sorting and pagination. But this sorts the grid in one page only, not complete grid. Does any one have solution for this? I am trying to get the source code which does this. If any one has solution then please help me..
    Thanks!

    In this case you have to do external sorting insted of defalutsorting provided by dispaly Tag Library. find sample code for External Sorting.
    Follow the Steps:
    <display:table name="testList" {color:#ff0000}sort="external"{color} defaultsort="1" id="empTable">
    <display:column property="id" title="ID" sortable="true" {color:#ff0000}sortName="id"{color} />
    <display:column property="firstName" sortable="true" title="First Name" />
    <display:column property="lastName" sortable="true" title="Last Name" />
    <display:column property="address" sortable="true" title="Email Address"/>
    </display:table>
    To determine the request parameter name for column(like ID) sorting you can do :
    String studenid = request.getParameter((new ParamEncoder("empTable")).encodeParameterName(TableTagParameters.PARAMETER_SORT))
    fire a query in DAO Class using request parameter to get sorted list and map a resultset to table.
    Thanks,
    thagelapally
    Edited by: Thagelapally on Jul 22, 2009 4:29 AM
    Edited by: Thagelapally on Jul 22, 2009 4:32 AM

  • ALV wrong row_id in  METHOD handle_data_changed when grid is sorted

    Hi everybody,
    we've made a small data maintenance report with the ALV grid using the class CL_GUI_ALV_GRID.
    My problem is the behaviour of ALV, when the grid is autosorted on a field, which is changed by a user. Within the hanlde method of the event data_changed I get the internal table er_data_changed->mt_good_cells containing entries (of the type lvc_s_modi) for every field which was changed.  The field ROW_ID containes the row id of the internal table of the grid, in which the change was made by the user. This ROW_ID can be wrong, when the change the user made leads to an autosort of the table, which sorts the table in a different order. When you then access the ALV-table by the row-id you get the wrong, not changed row back.
    Here a short extract of the code:
    METHOD handle_data_changed.
        LOOP AT er_data_changed->mt_good_cells INTO ls_good.
           READ TABLE gt_alv INDEX ls_good-row_id ASSIGNING <l_line_of_alv>.
    <i>*      wrong line of the ALV grid is in <l_line_of_alv></i>
        ENDLOOP.
    ENDMETHOD.
    Have you any idea, how this can be avoided?
    Is it possible to disable the autosort <b>before</b> handle_changed is triggert and to enable it afterwards again?
    I'm thankful for any idea.
    Regards,
    Horst

    I don't do it this way myself.
    I use  a "generalized"  ALV class using a dynamic table --then the latest state of the GRID data is always in your dynamic table <dyn_table>. I have a copy of the original as well in <orig_table>.
    This means at either event ON DATA CHANGED or ON DATA CHANGED FINISHED I've got the latest state of the table even if sorted and the last cell(s) / row(s) selected
    Here's the code
    INCLUDE ZZJIMBOXX_INCL.
    Generic ALV class etc  for use as INCLUDE  Jimbo 2007.
    DEFINE col_name.
    READ TABLE it_fldcat INTO wa_it_fldcat INDEX &1.
          wa_it_fldcat-coltext = &2.
          wa_it_fldcat-outputlen = &3.
          modify it_fldcat from wa_it_fldcat index &1.
    END-OF-DEFINITION.
    DEFINE toolbar_funcs.
       CLEAR ls_toolbar.
        MOVE 0 TO ls_toolbar-butn_TYPE.
        MOVE &1 TO ls_toolbar-function.
        MOVE SPACE TO ls_toolbar-disabled.
        MOVE &2 TO ls_toolbar-icon.
        MOVE &3 TO ls_toolbar-quickinfo.
        APPEND ls_toolbar TO e_object->mt_toolbar.
    END-OF-DEFINITION.
    INCLUDE  <icon>.
    FIELD-SYMBOLS :
       <fs1>          TYPE STANDARD TABLE,
       <fs0>          TYPE STANDARD TABLE,
       <dyn_table>    TYPE STANDARD TABLE,
       <orig_table>   TYPE STANDARD TABLE,
       <dyn_wa>      TYPE ANY.
    CLASS  zcl_alv_test DEFINITION DEFERRED.
    DATA:
       z_object           TYPE REF TO zcl_alv_test.  "Instantiate our class
    Attributes
    DATA:
            it_fldcat          TYPE lvc_t_fcat,
            i_gridtitle        TYPE lvc_title,
            wa_it_fldcat       TYPE lvc_s_fcat,
            new_table          TYPE REF TO DATA,
            dy_table           TYPE REF TO DATA,
            inserted_tab       TYPE lvc_t_moce,
            deleted_tab        TYPE LVC_T_MOCE,
            changed_tab        TYPE REF TO DATA,
            is_layout          TYPE LVC_S_LAYO,
            modified_cells_tab TYPE LVC_T_MODI,
            dy_line            TYPE REF TO DATA.
    CLASS zcl_alv_test DEFINITION.
      PUBLIC SECTION.
        METHODS:
         constructor
            IMPORTING
              z_object TYPE REF TO zcl_alv_test,
         display_grid
          IMPORTING
             g_outtab TYPE STANDARD TABLE
             g_fldcat TYPE lvc_t_fcat
           CHANGING
             it_fldcat TYPE lvc_t_fcat
             GT_OUTTAB TYPE STANDARD TABLE,
          change_title
           IMPORTING
             i_gridtitle TYPE lvc_title,
          refresh_grid,
          set_cursor
           IMPORTING
             row_id      TYPE lvc_s_row
             column_id   TYPE lvc_s_col
             row_no      TYPE lvc_s_roid,
          build_dynamic_structures
           IMPORTING
             my_line TYPE ANY
             calling_program TYPE sy-repid
           EXPORTING
             dy_table TYPE REF TO DATA
           CHANGING
             it_fldcat TYPE lvc_t_fcat .
      PRIVATE SECTION.
    Attributes
        DATA:
         lr_rtti_struc           TYPE REF TO cl_abap_structdescr,
         zog                     LIKE LINE OF lr_rtti_struc->components,
         zogt                    LIKE table of zog,
         struct_grid_lset        TYPE lvc_s_layo,
         e_row                   TYPE lvc_s_row,
         e1_row                  TYPE i,
         e_value                 TYPE c,
         e1_col                  TYPE i,
         e_column                TYPE lvc_s_col,
         es_rowid                TYPE lvc_s_roid,
         es_row_id               TYPE LVC_S_ROW,
         es_col_id               TYPE LVC_S_COL,
         es_row_no               TYPE lvc_s_roid,
         grid_container1         TYPE REF TO cl_gui_custom_container,
         grid1                   TYPE REF TO cl_gui_alv_grid,
         ls_layout               TYPE kkblo_layout,
         lt_fieldcat_wa          TYPE kkblo_fieldcat,
         gt_outtab               TYPE REF TO DATA,
         l_mode                  TYPE raw4,
         celltab                 TYPE lvc_t_styl,
         wa_celltab              TYPE lvc_s_styl,
         lt_fieldcat             TYPE kkblo_t_fieldcat,
         l_tabname               TYPE slis_tabname,
         ls_toolbar              TYPE stb_button,
         caller                  TYPE sy-repid,
         g_outtab1               TYPE REF TO DATA,
         g_fldcat1                TYPE REF TO DATA.
    Event Receivers - These methods are entered
    when the specified event occurs
        EVENTS: before_user_command.
        METHODS:
         on_user_command
            FOR EVENT before_user_command OF cl_gui_alv_grid
            IMPORTING
              e_ucomm
              sender,
         on_toolbar
            FOR EVENT toolbar OF cl_gui_alv_grid
            IMPORTING
              e_object
              e_interactive,
         on_dubbelklik
            FOR EVENT double_click OF cl_gui_alv_grid
            IMPORTING
               e_row
               e_column
               es_row_no,
        handle_data_changed
            FOR EVENT data_changed OF cl_gui_alv_grid
            IMPORTING
              er_data_changed,
         handle_data_changed_finished
            FOR EVENT data_changed_finished OF cl_gui_alv_grid
            IMPORTING
              e_modified
              et_good_cells,
    Rest of the methods
         process,
         dubbelklik
            IMPORTING
               e_row       TYPE lvc_s_row
               e_column    TYPE lvc_s_col
               es_row_no   TYPE lvc_s_roid,
         return_structure
            IMPORTING
              my_line      TYPE ANY,
         create_dynamic_fcat
            EXPORTING
              it_fldcat    TYPE lvc_t_fcat,
         create_dynamic_table
            IMPORTING
               it_fldcat   TYPE lvc_t_fcat
            EXPORTING
              dy_table     TYPE REF TO DATA,
         download_to_excel,
         refresh.
    ENDCLASS.                    "zcl_alv_test DEFINITION
    Implementation definition
    CLASS zcl_alv_test IMPLEMENTATION.
    Constructor
    create our reference / instance to cl_gui_alv_grid
      METHOD constructor.
        CREATE OBJECT grid_container1
            EXPORTING
               container_name = 'CCONTAINER1'.
        CREATE OBJECT  grid1
           EXPORTING
              i_parent = grid_container1.
    Set event handlers
        SET HANDLER z_object->on_user_command for grid1.
        SET HANDLER z_object->on_toolbar for grid1.
        SET HANDLER Z_OBJECT->handle_data_changed FOR grid1.
        SET HANDLER Z_OBJECT->handle_data_changed_finished FOR grid1.
        SET HANDLER Z_OBJECT->on_dubbelklik FOR grid1.
        CALL METHOD grid1->register_edit_event
          EXPORTING
            i_event_id = cl_gui_alv_grid=>mc_evt_enter.
      ENDMETHOD.                    "constructor
    Rest of the methods
      METHOD on_dubbelklik.
        CALL METHOD me->dubbelklik
          EXPORTING
            e_row     = e_row
            e_column  = e_column
            es_row_no = es_row_no.
      ENDMETHOD.                       "on_dubbelklik
      METHOD set_cursor.
        CALL METHOD grid1->set_current_cell_via_id
        EXPORTING
            is_row_id     = row_id
            is_column_id  = column_id
            is_row_no  =    row_no.
      ENDMETHOD.
      METHOD  handle_data_changed.
        call method grid1->get_current_cell
          IMPORTING
            e_row     = e1_row
            e_value   = e_value
            e_col     = e1_col
            es_row_id = es_row_id
            es_col_id = es_col_id
            es_row_no = es_row_no.
        changed_tab  = er_data_changed->mp_mod_rows.
        inserted_tab = er_data_changed->mt_inserted_rows.
        deleted_tab  = er_data_changed->mt_deleted_rows.
        modified_cells_tab = er_data_changed->mt_mod_cells.
        PERFORM data_changed  IN PROGRAM (caller) IF FOUND
           USING changed_tab
                 inserted_tab
                 deleted_tab
                 modified_cells_tab.
      ENDMETHOD.                    "handle_data_changed
      METHOD handle_data_changed_finished.
      ENDMETHOD.                    "handle_data_changed_finished
      METHOD return_structure.
        lr_rtti_struc ?= cl_abap_structdescr=>DESCRIBE_BY_DATA( my_line ).
        zogt[]  = lr_rtti_struc->components.
      ENDMETHOD.                    "return_structure
      METHOD create_dynamic_fcat.
        LOOP AT zogt INTO zog.
          CLEAR wa_it_fldcat.
          wa_it_fldcat-fieldname = zog-name .
          wa_it_fldcat-dataTYPE = zog-TYPE_kind.
          wa_it_fldcat-intTYPE = zog-TYPE_kind.
          wa_it_fldcat-intlen = zog-length.
          wa_it_fldcat-decimals = zog-decimals.
          wa_it_fldcat-coltext = zog-name.
          wa_it_fldcat-lowercase = 'X'.
          APPEND wa_it_fldcat TO it_fldcat .
        ENDLOOP.
      ENDMETHOD.                    "create_dynamic_fcat
      METHOD  download_to_excel.
        assign g_outtab1->* to <fs0>.
        assign g_fldcat1->* to <fs1>.
        CALL FUNCTION  'LVC_TRANSFER_TO_KKBLO'
         EXPORTING
           it_fieldcat_lvc   = <fs1>
        is_layout_lvc     = m_cl_variant->ms_layout
            is_tech_complete  = ' '
         IMPORTING
           es_layout_kkblo   = ls_layout
           et_fieldcat_kkblo = lt_fieldcat.
        LOOP AT lt_fieldcat INTO lt_fieldcat_wa.
          CLEAR lt_fieldcat_wa-tech_complete.
          IF lt_fieldcat_wa-tabname IS initial.
            lt_fieldcat_wa-tabname = '1'.
            MODIFY lt_fieldcat FROM lt_fieldcat_wa.
          ENDIF.
          l_tabname = lt_fieldcat_wa-tabname.
        ENDLOOP.
        CALL FUNCTION 'ALV_XXL_CALL'
          EXPORTING
            i_tabname           = l_tabname
            is_layout           = ls_layout
            it_fieldcat         = lt_fieldcat
            i_title             = sy-title
          TABLES
            it_outtab           = <fs0>
          EXCEPTIONS
            fatal_error         = 1
            no_display_possible = 2
            others              = 3.
        IF  sy-subrc <> 0.
          message id sy-msgid TYPE 'S' number sy-msgno
                 with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
      ENDMETHOD.                    "download_to_excel
      METHOD change_title.
        CALL METHOD grid1->set_gridtitle
          EXPORTING
            i_gridtitle = i_gridtitle.
      ENDMETHOD.                    "CHANGE_TITLE
      METHOD create_dynamic_table.
        CALL METHOD cl_alv_table_create=>create_dynamic_table
          EXPORTING
            it_fieldcatalog = it_fldcat
          IMPORTING
            ep_table        = dy_table.
      ENDMETHOD.                    "create_dynamic_table
      METHOD build_dynamic_structures.
        caller = calling_program.
        CALL METHOD me->return_structure
          EXPORTING
            my_line = my_line.
        CALL METHOD me->create_dynamic_fcat
          IMPORTING
            it_fldcat = it_fldcat.
        CALL METHOD me->create_dynamic_table
          EXPORTING
            it_fldcat = it_fldcat
          IMPORTING
            dy_table  = dy_table.
      ENDMETHOD.                    "build_dynamic_structures
      METHOD display_grid.
        GET REFERENCE OF g_outtab INTO g_outtab1.
        GET REFERENCE OF g_fldcat INTO g_fldcat1.
        struct_grid_lset-edit = 'X'. "To enable editing in ALV
        struct_grid_lset-grid_title = 'TEST ALV USE generic class'.
        struct_grid_lset-ctab_fname = 'T_CELLCOLORS'.
        struct_grid_lset-stylefname = 'CELLTAB'.
        CALL METHOD grid1->set_ready_for_input
          EXPORTING
            i_ready_for_input = '1'.
        CALL METHOD grid1->set_table_for_first_display
          EXPORTING
            is_layout       = struct_grid_lset
          CHANGING
            it_outtab       = gt_outtab
            it_fieldcatalog = it_fldcat.
      ENDMETHOD.                    "display_grid
      METHOD on_user_command.
        CASE e_ucomm.
          WHEN 'EXIT'.
            LEAVE PROGRAM.
          WHEN 'EXCEL'.
            CALL METHOD me->download_to_excel.
          WHEN 'SAVE'.
          WHEN 'PROC'.
            CALL METHOD me->process.
          WHEN 'REFR'.
            CALL METHOD me->refresh.
        ENDCASE.
      ENDMETHOD.  "on_user_command
      METHOD on_toolbar.
    customize this section with your own Buttons
    When a button is pressed method ON_USER_COMMAND is entered
       toolbar_funcs 'EXIT'  icon_system_end            'Click2exit'.
       toolbar_funcs 'SAVE'  icon_system_save           'Savedata'.
       toolbar_funcs 'EDIT'  icon_toggle_display_change 'Edit data'.
       toolbar_funcs 'PROC'  icon_businav_process       'Process'.
       toolbar_funcs 'EXCEL' icon_xxl                   'Excel'.
       toolbar_funcs 'REFR'  icon_refresh               'Refresh'.
       ENDMETHOD.                    "on_toolbar
      METHOD refresh_grid.
        CALL METHOD cl_gui_cfw=>flush.
        CALL METHOD grid1->refresh_table_display.
      ENDMETHOD.                    "refresh_grid
      METHOD refresh.
        PERFORM refresh IN PROGRAM (caller) IF FOUND.
      ENDMETHOD.                    "refresh
      METHOD process.
        PERFORM process IN PROGRAM (caller) IF FOUND.
      ENDMETHOD.                    "process
      METHOD dubbelklik.
        perform dubbelklik IN PROGRAM (caller) IF FOUND
           USING e_row
                 e_column
                 es_row_no.
      ENDMETHOD.                    "dubbelklik
    ENDCLASS.                    "zcl_alv_test IMPLEMENTATION
    Now for example I can use this program to fill a grid
    Program  ZJIMBOTESTX.
    INCLUDE ZZJIMBOXX_INCL.  "Code is above
    TABLES : SPFLI.
    TYPES:  BEGIN OF s_elements.
            INCLUDE  STRUCTURE spfli..
    TYPES: END OF    s_elements.
    DATA:
           t_elements         TYPE TABLE OF s_elements,  "refers to our ITAB
           my_line            TYPE s_elements.
    START-OF-SELECTION.
    CALL SCREEN 100.
    END-OF-SELECTION.
    MODULE status_0100 OUTPUT.
    CREATE OBJECT z_object
          EXPORTING z_object = z_object.
    CALL METHOD z_object->build_dynamic_structures
         EXPORTING
           my_line = my_line
           calling_program = sy-repid
         IMPORTING
           dy_table = dy_table
         CHANGING
           it_fldcat = it_fldcat.
    Here before displaying you can change the field catalog to
    adjust your own column names.
    *col_name  col-nr 'your name' output length.
       col_name 2 'Carrier' 5.
       col_name 3 'Flt' 4.
       col_name 4 'Dep Ctry' 8.
       col_name 5 'Dep City'  8.
       col_name 6 'Airport'  6.
    fill dynmic table and display
    PERFORM populate_dynamic_itab.
    is_layout-zebra = 'X'.
    CALL METHOD z_object->display_grid
        EXPORTING
          g_outtab = <dyn_table>
          g_fldcat = it_fldcat
         CHANGING
          it_fldcat = it_fldcat
          gt_outtab = <dyn_table>.
      SET PF-STATUS '0001'.
      SET TITLEBAR '000'.
    ENDMODULE.
    MODULE user_command_0100 INPUT.
      CASE sy-ucomm.
        WHEN 'BACK'.
          LEAVE PROGRAM.
        WHEN 'EXIT'.
          LEAVE PROGRAM.
        WHEN 'RETURN'.
          LEAVE PROGRAM.
        WHEN OTHERS.
      ENDCASE.
    ENDMODULE.
    FORM populate_dynamic_itab.
    ASSIGN dy_table->* TO <dyn_table>.
    CREATE DATA dy_line LIKE LINE OF <dyn_table>.
    ASSIGN dy_line->* TO <dyn_wa>.
    SELECT *
           UP TO 200 rows
           FROM SPFLI
           INTO  CORRESPONDING FIELDS OF TABLE <dyn_table>.
    save a copy (original table). Use same fcat as ist table.
    create 2nd Dyn table to hold original data
    CALL METHOD cl_alv_table_create=>create_dynamic_table
        EXPORTING
             it_fieldcatalog = it_fldcat
          IMPORTING
             ep_table = dy_table.
    ASSIGN dy_table->* TO <orig_table>.
    CREATE DATA dy_line LIKE LINE OF <orig_table>.
    ASSIGN dy_line->* TO <dyn_wa>.
      <orig_table> = <dyn_table>.
    ENDFORM.
    FORM DATA_CHANGED
       USING
         changed_tab
         inserted_tab
         deleted_tab
         modified_cells_tab.
    ENDFORM.
    FORM process.
    Orig table is in dynamic table <orig_table>
    ALV GRID changed table is in <dyn_table>.
    Loop AT <orig_table>  INTO  <dyn_wa>.
      Do what you want
    end
    ENDLOOP.
    ENDFORM.
    FORM refresh.
    change data for example delete some lines.
    *DELETE  <dyn_table> from 1 to 16.
    CALL METHOD z_object->refresh_grid.
    ENDFORM.
    FORM dubbelklik
         USING
            e_row       TYPE lvc_s_row
            e_column    TYPE lvc_s_col
            es_row_no   TYPE  lvc_s_roid.
         SET TITLEBAR '001'.
         i_gridtitle = 'Grid Title Changed'.
         CALL METHOD  z_object->change_title
             EXPORTING
             i_gridtitle = i_gridtitle.
        PERFORM refresh.
    CALL METHOD z_object->set_cursor
       EXPORTING
           row_id     = e_row
           column_id  = e_column
            row_no  = es_row_no.
    ENDFORM.
    Now yoy can sort / delete / insert / or wahtever.
    The code is pretty general so it should cover all your needs.
    All your application ever needs to do is simply define a structure and fill it.The class will generate the dynamic table and FCAT.
    Modify the class to rmeove toolbar buttons wuou don't use or need.
    This class aslo includes a download to EXCEL  with column headings which I often find useful.
    I don't bother with mt_good cells etc etc as you can manipulate the <dyn_table> directly.
    Cheers
    Jimbo

  • Reporting Services Error after Interactive sorting and drill down in pps

    Hi 
    i have a report  that has a drill down option that shows all workgroups within a specific  parent group and an interactive sorting ass well on both columns  parent group &  workgroup 
    This is displayed  in pps combined with a SharePoint
    ---the problem is that after sorting the parent group column by name   i then press the drill through icon  (+) next to it hopping to see all workgroups related to each parent group
      - but instead 
    i receive this Reporting Services Error  :
    The value for parameter 'SortItem' is not specified. It is either missing from the function call, or it is set to null. (rsMissingParameter) Get
    Online Help       
    If I don't press the sorting and just drill through it works fine. the sorting itself also works fine. 
    any suggestions ?
     

    Hi Hyaron,
    I am unable to reproduce the issue in my test environment. How did you add the drilldown feature? Were you doing that by setting visibility of the column or of the group? Please ensure to add the drilldown functionality by set the visibility of the workgroup
    from the Grouping Pane in the Report Designer.
    How did you add the Interactive Sorting on the headers of the two columns? Based on the drilldown functionality, the Interactive Sorting on the second column doesn’t work. So, you can move the Interactive Sorting on the second column. When configuring the
    Interactive sorting on the first column, you should set the parent group to sort, and sort by the field that the parent group groups by.
    Hope this helps.
    Regards,
    Mike Yin
    TechNet Community Support

Maybe you are looking for

  • Assigning data from one Table type to another structure

    Hi every one, I have a table type X sent from one function module to another Proxy generated method which has the parameter defined as a structure. I have declared a variable Y as a LINE TYPE OF X. Then I have this statement which fills up the data.

  • Can't install Palm on Windows XP

    I had a previous Palm version for my old Sony, and Office 2000.  Uninstalled Office, installed Office 2003, and tried to uninstall Palm (in Control Panel Add/Remove software) but got error ms.  installing the new Palm OS failed so I deleted the old d

  • Iphone 5c can't keep internet connection

    Hi everyone, I recently opened a new internet account to my service provider in Switzerland. I am having troubles with my iphone 5c: for some reason when I am in my room it cannot keep the connection and looses it all the time. I need to go back to t

  • Time Machine running on Leopard killed a partitioned external HD.  Is there a fix?

    I partitioned the 3 TB external hard drive into four partitions to use with Leopard's Time Machine.  The partition I was using for Time Machine was 300 GB.  Time Machine required 55 GB for the backup.  When almost finished I received the following er

  • Delta buffer query in RSRT for BI-IP (" infoprovider /!!1 infoprovider )

    Hello People, I have an input ready query over an aggregation level of a real time cube. Whenever the yellow request is closed and a new request is opened, the input ready query does not show the old data. And sometimes it shows incorrect data. We fo