How to make checkbox to be pre-selected in ALV

Hi all!
I`m creating ALV report and I want to create checkbox in the first column of the row. So I have a field SEL(1) in my structure and I`ve made the fieldcat:
gs_fcat-col_pos = 5.
  gs_fcat-coltext = 'Check'.
  gs_fcat-fieldname = 'SEL'.
  gs_fcat-tabname = 'GT_TREE9001'.
  gs_fcat-outputlen = 10.
  gs_fcat-checkbox = 'X'.
  gs_fcat-edit = 'X'.
That works, checkbox is displayed.
But now I need to make all the checkboxes to be checked for the first start of my program.
I mean when user executes my report all the checkboxes must be checked by default.
I have tried to do following:
loop at gt_tree9001.
gs_tree9001-sel = 'X'.
modify gt_tree9001 from gs_tree9001.
endloop.
But it doesnt work, I now see checkbox and mark 'X' near but not the checked ckeckbox.
Any help appreciated!

Solved.
My final code:
data: lv_tree_size TYPE i,
            ls_layout_item TYPE lvc_s_laci,
            lt_layout_item TYPE lvc_t_laci,
            lv_ind TYPE LVC_INDEX.
      CLEAR ls_layout_item.
      ls_layout_item-fieldname = 'SEL'.
      ls_layout_item-class = cl_gui_column_tree=>item_class_checkbox.
      ls_layout_item-editable = 'X'.
      ls_layout_item-u_class = 'X'.
      ls_layout_item-u_editable = 'X'.
      ls_layout_item-u_chosen = 'X'.
      ls_layout_item-chosen = 'X'.
      append ls_layout_item to lt_layout_item.
call method g_tree9001->set_table_for_first_display
      EXPORTING
        i_save              = 'A'
        is_variant          = ls_variant
      CHANGING
        it_sort             = gt_sort9001
        it_outtab           = gt_tree9001
        it_fieldcatalog     = gt_treefcat9001.
DESCRIBE TABLE gt_tree9001 LINES lv_tree_size.
DO lv_tree_size TIMES.
        CALL METHOD G_TREE9001->CHANGE_LAYOUT
          EXPORTING
            I_OUTTAB_INDEX = sy-index
            IT_ITEM_LAYOUT = lt_layout_item                .
ENDDO.
The main trick is in u_class, u_editable, u_chosen. These params say that layout should be changed. Only this way it will work.
And some helpful links:
ALV tree get selected checkbox
Checkbox ALV Tree CL_GUI_ALV_TREE
ALV TREE-Checkbox
CL_GUI_ALV_TREE and Checkboxes
Report BCALV_TREE_ITEMLAYOUT is also very helpful.

Similar Messages

  • How to make checkbox uneditable

    I have a problem about how to make checkbox uneditable.
    1. the checkbox DO not respond to user mouse click
    2. and the text company with checkbox is not greyed.
    setenable is not i wanted, because 2 is not satisfied
    thanks in advanced.

    If I understand the question, then my replies in this thread should help you out:
    http://forum.java.sun.com/thread.jsp?forum=57&thread=122112

  • How to make a filed mandatory of an editable ALV

    Hi Guru,
    Pls tell me how to make a filed mandatory of an editable ALV so that while a new records is inserted the mandatory fields are filled.

    hi,
    You can make fields as mandatory fields using data changed event.
    validate the entered or blank entries of a column in data changed event and call method 'add_protocol_entry' to raise errors.
    Check the program : BCALV_EDIT_03 & BCALV_EDIT_04for more details.
    Refer to this link....
    about field in alv
    obligatory field editable in ALV

  • How to make all the rows editable in webdynpro alv output

    Hi,
    How to make all the rows editable in webdynpro alv output.
    Thanks
    Rakshar

    Hi Rakshar,
    Check this wiki:
    http://wiki.sdn.sap.com/wiki/display/WDABAP/HowtoeditconditionallyrowofaALVtableinWebDynprofor+ABAP
    Regards

  • How to make checkbox field inactive in the output of ALV report.

    Dear All,
    I am having one ALV report in whose output there are checkboxes against each record. Example: the output columns of my ALV report are:
    Checkbox, Sales Document No, Billing Document No.
    Now, my requirement is that if for the Sales Document No there exists any Billing Document No in the output then the Checkbox should be inactive but if the Billing document coloumn is empty for a particular Sales Document No then only the Checkbox field should become active.
    Kindly guide me on how to make this checkbox field inactive.
    Waiting for your reply.
    Warm Regards,
    N.Jain

    Hello,
    Follow the below steps:
    1.Define as--> GS_STATUS TYPE SLIS_STATUS,
    2.check layout check box fieldname is not initial.
          then set the status according to your logical conditions
          GS_STATUS-FLG_CHECKBOXES_ACTIVE = 'X'
    Hope this would help you.
    Let me know your feedback.
    Regards,
    Raju

  • How to make validation in Bean and select value from another table

    I want to know how to select data from table in backing bean according to primary key i have
    the problem is that
    i have a table Employee_Salary contains Employee ids and their salary
    Empoloyee_Salary table
         Employee_ID      Number
         Employee_salary Number
    And Another table Called Employees
    Employees table
         Employee_ID     Number
         IsManager Varchar2 its value is [*Yes or NO*]
    and other columns that i don't care about this table
    i have on a jsff page an <af:table> this table is editable this is the Empoloyee_Salary table
    *i want to check before save or after insert if this employee is Manager [from Employees tabke(yes or no)] the salary*
    cannot be less that 100
    i want to know how to make this how to select the value from employees table according to the id i have in the employee_salary table how to make this and make this validation
    i have to select IsManager from Employees Table to see if this manager or no
    i want to know how to make this in a bean
    i use jdeveloper 11g
    and my project is ADF Fusion project
    and the page that have the Emplpyee_Salary table is JSFF
    thanks in advance

    You might want to write this code in a validator on the entity object if it should apply from every screen.
    If you want to access view objects from a backing bean the basics are here: http://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/bcservices.htm#sthref918

  • How to make a rectangle around activeDocument.selection?

    Hi,everyone!
    Recently I met a awful problem. I want to make a rectangle around current selection, but Not success.
    Could you help me or give some clues? Thanks!

    Try the following code.
    Cheers Daniel
    boundingbox();
    function boundingbox()
        // zet nulpunt linksonder
        app.activeDocument.pageOrigin = Array(0,0);
        app.activeDocument.rulerOrigin = Array(0,0);
        // set variable
        var breedte = app.activeDocument.width;
        var hoogte = app.activeDocument.height;
        var doc = app.activeDocument;
        // omrekenfactor
        var omf = 2.834645;
        // maak lijnkleur aan
        var newRGBColor = new RGBColor();
        newRGBColor.red = 0;
        newRGBColor.green = 255;
        newRGBColor.blue = 0;
        var black = new GrayColor();
        black.gray = 100;
        var layercheck = 0;
        var targetDocument = app.activeDocument;
        var layerCount = targetDocument.layers.length;
        var a=1;
        for (var i=1 ; i < 2; i++) {
            if (a==1){var txt = ''; var layname = 'BB';};
            var layercheck = 0;
            for (u = layerCount -1; u >= 0; u--){
                targetLayer = targetDocument.layers[u];
                var layerName = new String (targetLayer.name);
                    if (layerName.indexOf(layname) == 0){
                    targetDocument.layers[u].visible= true;
                    targetDocument.layers[u].locked= false;
                    var layercheck = 1;
            if (layercheck == 0){
                newlayer = documents[0].layers.add();
                newlayer.name = (layname);
                newlayer.color = newRGBColor;   
        alignType = 'top';
        mySelection = activeDocument.selection;
            if (mySelection.length > 0) {
                anchorBounds = getPosition(mySelection[0]);
                var artLayer = doc.layers['BB'].groupItems.add();
                targetDocument.layers['BB'].preview = false;
                var breedte = bnds[2] - bnds[0];
                var hoogte = bnds[1] - bnds[3];
                var rect = artLayer.pathItems.rectangle ((bnds[1] + (20*omf)),(bnds[0] - (20*omf)), breedte + (40*omf), hoogte + (40*omf));
                rect.filled = false;
                rect.stroked = false;
            } else {
                anchorBounds = getDocPosition();
                var doc = app.activeDocument;
                var omtrekartwork = app.activeDocument.geometricBounds;
                var leftartwork = omtrekartwork[0];
                var topartwork = omtrekartwork[1];
                var rightartwork = omtrekartwork[2];
                var bottomartwork = omtrekartwork[3];
                var origin = doc.rulerOrigin;
                var leftpage    = -origin[0];
                var toppage    = -origin[1] + doc.height;
                var rightpage    = -origin[0] + doc.width;
                var bottompage    = -origin[1];
                var centerxpage    = -origin[0] + doc.width/2;
                var centerypage    = -origin[1] + doc.height/2;
                var bleedleft = leftpage - leftartwork;
                var bleedright = rightartwork - rightpage;
                var bleedtop = topartwork - toppage;
                var bleedbottom = bottompage - bottomartwork;
                var breedteartwork = rightpage - leftpage;
                var hoogteartwork = toppage - bottompage;
                if (bleedleft <= 0 && bleedright <= 0 && bleedtop <= 0 && bleedbottom <=0){
                        var artLayer = doc.layers['BB'].groupItems.add();
                        targetDocument.layers['BB'].preview = false;
                        var rect = artLayer.pathItems.rectangle ((toppage + (20*omf)),(leftpage - (20*omf)), (breedteartwork + (40*omf)), (hoogteartwork + (40*omf)));
                        rect.filled = false;
                        rect.stroked = false;
                } else {
                        if    (bleedleft >= bleedright){
                            var bleedx = bleedleft + (20*omf);
                        } else {
                            var bleedx = bleedright + (20*omf);
                        if    (bleedbottom >= bleedtop){
                            var bleedy = bleedbottom + (20*omf);
                        } else {
                            var bleedy = bleedtop + (20*omf);
                        var artLayer = doc.layers['BB'].groupItems.add();
                        targetDocument.layers['BB'].preview = false;
                        var rect = artLayer.pathItems.rectangle ((toppage + bleedy),(leftpage - bleedx), (breedteartwork + (2*bleedx)), (hoogteartwork + (2*bleedy)));
                        rect.filled = false;
                        rect.stroked = false;
    function getBounds(obj) {
        var vbounds = new Array();
        if( obj.typename == 'TextFrame' ) {
            objcopy=obj.duplicate().createOutline();
            vbounds = objcopy.visibleBounds;
            objcopy.remove();
        else if( (obj.typename == 'GroupItem') && !obj.clipped ) {
            vbounds = getBounds(obj.pageItems[0]);
            for( n=1; n<obj.pageItems.length; n++  ) {
                vgb = getBounds(obj.pageItems[n]);
                if( vbounds[0] > vgb[0] ) vbounds[0] = vgb[0];
                if( vbounds[1] < vgb[1] ) vbounds[1] = vgb[1];
                if( vbounds[2] < vgb[2] ) vbounds[2] = vgb[2];
                if( vbounds[3] > vgb[3] ) vbounds[3] = vgb[3];
        else if( (obj.typename == 'GroupItem') && obj.clipped && (obj.pageItems.length > 1) ) {
            vbounds = getBounds(obj.pageItems[0]);
            cvgb = getBounds(obj.pageItems[1]);
            objleft = cvgb[0];
            objtop = cvgb[1];
            objright = cvgb[2];
            objbottom = cvgb[3];
            obj.pageItems[0].stroked ? so = 0 : so = 1;
            for( n=so; n<obj.pageItems.length; n++ ) {
                cvgb = getBounds(obj.pageItems[n]);
                if( objleft > cvgb[0] ) objleft = cvgb[0];
                if( objtop < cvgb[1] ) objtop = cvgb[1];
                if( objright < (cvgb[2]) ) objright = cvgb[2];
                if( objbottom > (cvgb[3]) ) objbottom = cvgb[3];
            if( vbounds[0] < objleft ) vbounds[0] = objleft;
            if( vbounds[1] > objtop ) vbounds[1] = objtop;
            if( vbounds[2] > objright ) vbounds[2] = objright;
            if( vbounds[3] < objbottom ) vbounds[3] = objbottom;
        else {
            vbounds = obj.visibleBounds;
        return vbounds;
    function getPosition(obj) {
        var b = new Array();
        bnds = getBounds(obj);
        b['left']    = bnds[0];
        b['top']    = bnds[1];
        b['right']    = bnds[2];
        b['bottom']    = bnds[3];
        b['centerX']    = bnds[0] + (bnds[2]-bnds[0])/2;
        b['centerY']    = bnds[1] - (bnds[1]-bnds[3])/2;
        return b;
    function getDocPosition() {
        var b = new Array();
        doc = activeDocument;
        var origin = doc.rulerOrigin;
        b['left']    = -origin[0];
        b['top']    = -origin[1] + doc.height;
        b['right']    = -origin[0] + doc.width;
        b['bottom']    = -origin[1];
        b['centerX']    = -origin[0] + doc.width/2;
        b['centerY']    = -origin[1] + doc.height/2;
        return b;

  • How to make the obligate field in selection screen

    Hi ,
    In my report two radio buttons and two bloc selection screens are there.When we select the first radio button first screen will be editable second screen will be non-editable vice-versa.
    but the problem is in each selection screen one mandatory field is required  suppose if i give the one field obligatory in first block screen it is not allowing the second readout please help me regarding this how i will make the mandatory field in both screens.
    Thanks,
    Harinath

    Hi...
    Dont Declare your field as OBLIGATORY.
    Instead perform the validation in AT SELECTION-SCREEN event. But validation should be only when Particular Radiobutton is selected.
    And Generate only Error Message (Type E).
    Try this code:
    AT SELECTION-SCREEN on <yOUR mandatory field>.
       IF PA_UPD = 'X'.
             IF <YOUR MANDATORY FIELD>  IS INITIAL.
                  Message 'Entry is must in this field' type 'E'.
             ENDIF.
       ENDIF.
    AT SELECTION-SCREEN OUTPUT.
    IF pa_udp = 'X'.
    LOOP AT SCREEN.
    IF screen-group1 = 'ABC'. "#CCE
    screen-active = 1.
    ELSEIF screen-group1 = 'DEF'.
    screen-input = 0.
    ENDIF.
    MODIFY SCREEN.
    ENDLOOP.
    ELSEIF pa_rep = 'X'.
    LOOP AT SCREEN.
    IF screen-group1 = 'ABC'. "#CCE
    screen-input = 0.
    ELSEIF screen-group1 = 'DEF'.
    screen-active = 1.
    ENDIF.
    MODIFY SCREEN.
    ENDLOOP.
    ENDIF.
    <b>Reward if Helpful</b>

  • How to make a new row as selected in adf table

    Hi,
    I am adding a new row to my table as below.
    DCBindingContainer bindingContainer =
    (DCBindingContainer)ADFUtil.evaluateEL("#{bindings}");
    DCIteratorBinding iter = bindingContainer.findIteratorBinding("IfwSystemBrandView1Iterator");
    ViewObject vo = iter.getViewObject();
    row = vo.createRow();
    row.setNewRowState(Row.STATUS_INITIALIZED);
    vo.insertRow(row);
    This code is adding a new row at the end of the table.
    I want this new row to be selected after it gets added.
    How to achieve this??
    Thanks,
    Praveen

    You should mention your JDev version!!!!
    in 11g you can archive this like
    BindingContext bctx = BindingContext.getCurrentInstance();
    BindingContainer bindings = bctx.getCurrentBindingEntry()
    DCIteratorBinding dcIterator =
    (DCIteratorBinding) bindings.get("IteratorBindingName");
    Row rw = dcIteratorBinding.getRowSetIterator().createRow();
    rw.setNewRowState(Row.STATUS_INITIALIZED);
    //insert row to iterator
    dcIteratorBinding.getRowSetIterator().insertRow(rw);
    //make new row the current
    dcIteratorBinding.setCurrentRowWithKey(
    rw.getKey().toStringFormat(true));or better if you have access to the table (
    private void createRowInTable(RichTable table){
    CollectionModel model = (CollectionModel ) table.getValue();
    JUCtrlHierBinding _binding = (JUCtrlHierBinding) model.getWrappedData();
    DCIteratorBinding dcIteratorBinding= _binding.getDCIteratorBinding();
    Row rw = dcIteratorBinding.getRowSetIterator().createRow();
    rw.setNewRowState(Row.STATUS_INITIALIZED);
    //insert row to iterator
    dcIteratorBinding.getRowSetIterator().insertRow(rw);
    //make new row the current
    Key k = rw.getKey();
    dcIteratorBinding.setCurrentRowWithKey(k.toStringFormat(true));
    }Timo

  • How to make the default tree row selection programatically

    I have one use case where I am displaying the tree table based on some parameter which is just for filtering the table and display the part of hierarchy.
    The problem here is I want to make a default selected row when the tree will be rendered to UI based on the primary key(that is the input parameter).
    can you please tell me how to do this.I am using jdev 11g.
    thanks,
    Harsh

    Hi,
    for this you need to know where in the path the PK is. If e.g. the PK is for a second level node then you need to pass the first level node PK as well. Nodes in a tree are defined as ArrayLists. So unfortunately your question doesn't provide enough information
    Frank

  • How to make a procedure from a select statement please.....

    Dear All,
    i am new to oracle db, but i do have nice knowledge on sql in sql server, could you please help me.,,,,, in the below issue
    i do have below query in oracle db just joining two views,
    select docview.firstname as "First Name", docview.lastname as "Last Name", docview.mrn as "MRN", docview.physician as "Physician", docview.surgicalcong "Surgical Consent Missing", docview.admissionnotemissing "Admin Assessment Missing",
    (case (docview.doctype) when 135 then 'Doctor Chart Checklist' else 'DS Chart Checklist' end) as doctypename,
    docview.hpmissing "History & Physical Missing", docview.nursingassessment "Nursing Admission/Assessment", docview.anesthesiologymissing "Anesthe Consultation Missing", docview.medicalevalmissing "Medical Evaluation Missing", docview.Doctorlabresultmissing "Doctor Lab Results Missing", docview.outsidelabresultmissing "Outside Lab Results Missing", docview.chestxraymissing "Chest X-Ray Missing",
    docview.ekgmissing "Ekg Missing", docview.cardioechomissing "Cardio Echo Missing",docview.stresstestmissing "Stress Test Missing", docview.pulmonaryfunctionmissing "Pulmonary Function Missing"
    from DoctorMainView docview inner join DoctoSurgicalView surgicalView on docview.accountid= surgicalView.accountid and docview.mrn= surgicalView.mrn and docview.physician = surgicalView.physician
    and docview.lastname=surgicalView.lastname
    where docview.doctype in (23,61)
    Order by docview.firstname
    how can i make a procedure with below two steps,
    1) load the result of above query to some temp table / or even a fixed table (which ever easier)
    2) list all data from the temp table / fixed table created in first step
    so in the final expecting result is
    execute myprocnamehere -- will result same as running above query
    please help me
    thanks a ton in advance
    i greatful to you all
    Best Regards
    Buzzi

    Why would you want to extract all of the results from the database and write them to a table just so you could read them back out again? Wouldn't it be simpler just to return the results in one shot?
    In general the procedure and call would look something like this:
    SQL> create or replace procedure myprocnamehere
      2     ( p_results out sys_refcursor )
      3  as
      4  begin
      5     open p_results for
      6        select 'Results here' as results from dual;
      7  end;
      8  /
    Procedure created.
    SQL> var myresultset refcursor
    SQL>
    SQL> call myprocnamehere(:myresultset);
    Call completed.
    SQL> print :myresultset
    RESULTS
    Results here
    1 row selected.Edited by: William Robertson on Feb 8, 2011 7:13 PM

  • How to make checkbox option enable/disable

    Hello,
    i am newbie in coldfusion...i want to make an option answer after my first check box answer is true
    code :
    <tr>
        <td><table width="100%"  border="0">
      <tr>
    <tr>
        <td>Do you have a car? </td>
        <td><input name="car_type" type="checkbox" value="1">Yes<input name="car_type" type="checkbox" value="0">No</td>
    </tr>
    <tr>
        <td width="100%"></td>
        <td><strong>(Select your car type)</strong></td>
    </tr>
      <tr>
        <td></td>
        <td><input name="car_bmw" type="checkbox" value="1">
          BMW</td></tr>
       <tr><td></td>
        <td><input name="car_mercedes" type="checkbox" value="1">
          Mercedes</td></tr>
        <td></td>
        <td><input name="car_toyota" type="checkbox" value="1">
          Toyota</td>
         <td></td>
        <tr><td>
        </td><td>Others<input name="car_others" type="text" size="20" maxlength="100" /></td>   
      </tr>
      <tr>
    Thank u

    What have you tried? 
    This is a client-side interaction, not server-side, so it should be fairly straightforward to do in JavaScript (I'd recommend using jQuery as it will make things a bit easier).
    -Carl V.

  • How to make a Jtable's row selected thru program

    Hi , in my application few of the rows (not continous)
    need to get selected automatically when the jTable is intially shown.
    I did this using table.setRowSelectionInterval(0,2)
    This method works fine selecting all the rows from 0 th to 2 th row,
    but if i want only 0 th and 2 th ( excluding the 1 st row ) to be selected , i dont know how to do that???
    i tried the following also
    //indeces of rows to be selected in the table are stored
    //in array
    int[] array = new int [2];
    parray [0]= 0;
    parray [1]= 2;
    table.setRowSelectionInterval(parray[0], parray[0] );
    table.setRowSelectionInterval(parray[2], parray[2] );
    //for each iteration a single row will be selected
    //coz the starting and ending indeces are same ie
    (parray[0],parray[0])
    but when this code is run only the 2 nd row gets selected , what abt the 0'th row???
    please help.
    Thanx.

    sorry
    there is a small correction in the above code
    //indeces of rows to be selected in the table are stored
    //in parray
    int[] parray = new int [2];
    parray [0]= 0;
    parray [1]= 2;
    table.setRowSelectionInterval(parray[0], parray[0] );
    table.setRowSelectionInterval(parray[1], parray[1] );
    //for each iteration a single row will be selected
    //coz the starting and ending indeces are same ie
    (parray[0],parray[0])

  • How to make a slice from a selection?

    Hi everyone,
    So many times I had a square selection and wanted to make a slice from it. Is it possible?

    Use Rectangle or Ellipse Marquee Tools, or Lasso Tools then hold down Alt or Option key and drag on the selection.

  • How to make checkbox checked by default

    hi,
    i have created a checkbox and binded the 'Checked' property of the checkbox to a attribute of type WDY_BOOLEAN. I have set the attibute value to 'True' in my code. but this s not working. Pls can anybody tel me where i have went wrong ?
        DATA lo_nd_check_box TYPE REF TO if_wd_context_node.
         DATA lo_el_check_box TYPE REF TO if_wd_context_element.
         DATA ls_check_box TYPE wd_this->element_check_box.
         lo_nd_check_box = wd_context->get_child_node( name =
    wd_this->wdctx_check_box ).
         lo_el_check_box = lo_nd_check_box->get_element( ).
       get all declared attributes
         lo_el_check_box->set_attribute(
           EXPORTING
             name = 'text'
             value = 'true' ).
    thanks,
    aishwarya.

    Hi,
    Please try with the below code hope it helps.
                       DATA lo_nd_inp_sflight TYPE REF TO if_wd_context_node.
                       DATA lo_el_inp_sflight TYPE REF TO if_wd_context_element.
                       DATA ls_inp_sflight TYPE wd_this->element_inp_sflight.
                       DATA lv_chkgrp LIKE ls_inp_sflight-chkgrp.
                     navigate from <CONTEXT> to <INP_SFLIGHT> via lead selection
                       lo_nd_inp_sflight = wd_context->get_child_node( name = wd_this->wdctx_inp_sflight ).
                     get element via lead selection
                       lo_el_inp_sflight = lo_nd_inp_sflight->get_element(  ).
                     get single attribute
                       lo_el_inp_sflight->set_attribute(
                         EXPORTING
                           name =  `CHKGRP`
                           value = abap_true ).
    Regards,
    Basuvaraj.P

Maybe you are looking for

  • Child Report Window Size XI 3.0 SP2 Using Javascript

    Hi All, I have to admit this is not my area  . I'm trying to get a new webi report in a sizeable window using javascript. I want to achieve this by selecting an open doc link from an existing webi report. We have been trying with the code below but g

  • Increase in monthly line rental charges without no...

    I have been with BT for a year now on the Unlimited Evening and Weekend plan.  When we signed up a year ago, we just wanted basic line rental, but for some reason were given the Evening and Weekend plan at the same cost.  Knowing that our year's cont

  • Component Availability Check for Subcontracting PO

    Hi, Is their any Setting to check the component availability and reservation of component material in stock after creating Subcontracting Purchase Order, As that is available in case of production order. Regards Siddharth

  • An Error occured while connecting to the remote speaker

    The Network connection was reset. Anyone got any suggestions why neither of my 2 laptops will connect to Airtunes? Both Wireless of course. One of them used to but the harddrive crashed and I had to put in a new one, new Xp etc, and now it won't conn

  • How do I print out receipt for the App I have bought?

    I need to print out the receipt I have bought in the past, how can I do this? I have found the list of them on iTunes but how do I print it out? P.S. I have deleted the Email for this, so need another solution