Forum Replies Created

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts

  • zorgoz
    Participant

    Hello,

    Well, this is no help at all. Since I have consulted all your demos, and topics here. You can’t deny the facts I see in the debugger. It is working in many browsers in the same way, but not in IE8 – and the server side is the same. The browser-specific difference has to be in your code.

    As I see, I don’t have any other option but to find the bug…


    zorgoz
    Participant

    Hello,

    Well, not absolutely the same. My code looks like this:
    { datafield: '_selected', text: '', columntype: 'checkbox', width: 30, editable: true, filterable: false, exportable: false, sortable: false, cellbeginedit: rowEdit, },
    Where rowEdit is:
    var rowEdit = function (row) {
    var data = $("#jqxgrid").jqxGrid('getrowdata', row);
    if (!!!data.ID)
    {
    return false;
    }
    }

    I have debugged my code, and it is returning false for the empty rows. With no effect…


    zorgoz
    Participant

    Hello,

    Is there any simple way to get the exact same query string that is passed in virtualmode to the ajax backend containing filterscount, filtervalue, filtercondition, filterdatafield, filteroperator and all the other parameters?

    Thank you


    zorgoz
    Participant

    Hello,

    Thank you for your answer. As I mentioned in my original post I tried this before. Unfortunately it has only partial effect. The checkbox remains enabled, thus can be checked and unchecked by the user. Still, the cellendedit event is not fired in those cases.
    Please not that this field exists only on client side, and thus it is initialized to non-null value in virtualmode in the beforeLoadComplete event handler. But only for the data rows comming from the server. As a consequence, there will be no initialized variable for it in the empty grid rows.

    I have no doubt that it is working correctly in non-virtual mode.

    Please test the behavior under similar conditions.

    in reply to: No Data Display in Grid No Data Display in Grid #61895

    zorgoz
    Participant

    Simply setting virtualmode to true won’t help. As you can see on the page linked last in my post (here again), you have to change much more in you grid related javascript code. You can find many other topics related to virtualmode on this page.
    Have you tried to debug the http traffic – does your xml data arrive to the client side completely? Is it well formed? How big is the response content?
    You seem to mix xml and json somehow. And why do you send the schema anyway? Ok, I see, you got this from here, but looks odd to me…
    For me it is quite clear, you have a performance/resource related issue if you can return 7000 but not 26000. As in general the server is far from the client, and the client has limited resources, sending 26000 rows as a single xml is not really an option in a production environment – even if it does work. Less if doesn’t. So I suggest you re-check the link from above about virtualmode. It will work.
    Just a note. Why don’t you return json from the webmethod at first place? It looks straightforward, but using DataSet is a huge overhead. Have a look here. Just make sure to have proper transaction isolation. Or try this one, even if you omit filtering. It might even work with all those records, since json format is much more compact than xml.
    Still, in virtualmode you either use paging or not, you will have to filter returned data, since you will need to send only few records at once.

    in reply to: No Data Display in Grid No Data Display in Grid #61776

    zorgoz
    Participant

    With so high number of records, you might be facing jsonresult size limitations. Check the http traffic with Fiddler or with brower’s network traffic monitor. I have few experience in asp.net clasic, but this might help you:
    http://stackoverflow.com/questions/4179986/asp-net-webmethod-with-jquery-json-is-there-a-size-limit. In MVC LargeJsonResult is the answer.
    Still, in such cases client’s resources should also be considered. IE for example is not dealing well with to many rows, loosing considerable responsiveness.
    So I suggest you to switch your grid to virtualmode. The most complex demo is here (not Linq based tough), but you should check the others too.


    zorgoz
    Participant

    Of course. Just redirect the export url to an action in your application. All the content is generated on client side, so you only have to send it back as attachment.

    public class ExportController : Controller
        {
            [HttpPost]
            [ValidateInput(false)]
            public FileResult Export(string FileName, string Format, string Content)
            {
                var fc = new FileContentResult(System.Text.Encoding.UTF8.GetBytes(Content), "application/vnd.ms-excel");
                fc.FileDownloadName = string.Format("{0}.{1}", FileName, Format);
                return fc;
            }
        }

    zorgoz
    Participant

    I have read those topics. It seems, that this feature is not properly elaborated. Thank you anyway.


    zorgoz
    Participant

    Now I see the problem 🙁
    One can not use cellrenderer to generate content. It is merely for applyig some styling. The layout engine is taking only the original field content into account – if there is any associated data field. If not, it is treated as empty cell – even if cellrenderer is returning meaningfull data. This way of working should be mentioned in the documentation.

    in reply to: "autorowheight" but selectively "autorowheight" but selectively #61632

    zorgoz
    Participant

    Oh, and a new problem in the same context: the result of the cellrenderer is not exported. I have debugged, and the cellrenderers are called when export is initiated, but the constructed xml has no data in those cells.


    zorgoz
    Participant

    Seems to be solved. With filter event it is working properly in v3.5.0


    zorgoz
    Participant

    Sorry, i wrote autoheight, but I meant and I tried autorowheight. The questions are the same.
    The first question is more or less a “nice to have” thing, but the second one is an issue!

    And I have new details regarding that one. First of all, I have set autorowheight to true. And it looks like it is working, but it is not. In the row there is a cell, that is wrapped in two rows. The content is comming directly from the server. The row height is correctly calculated so that those two rows fit. But there is an other cell in the row, that is generated using the cellrenderer callback. This later one is resulting in a three row text. But the row height does not take this into consideration, only the other one. Can I force somehow the recalculation of the row height from the cellrenderer?

    Thank you in advance,


    zorgoz
    Participant

    Thank you. Well, I that’s not good for me. There is no discrete mapping that can be set up in advance. It’s too bad, that the data adapter is cutting any connection to original data source.
    Still, I managed to overcome this problem, by passing the object as json encoded string. Thus I can recreate the object in the cellrenderer. Still, this is not neat, and I am afraid of performance issues.

Viewing 13 posts - 1 through 13 (of 13 total)