jinesh sam Ответов: 4

Загрузка данных Jqwidgets с помощью webservice


Hai friends я использую плагин jqwidgets для заполнения табличных данных.
мое требование состоит в том, чтобы отображать данные в таблице с помощью выбора combobox
я использую asp.net
моя проблема заключается в том, как передать параметр функции " GetCustomersfn(string cusID)”
если я использую функцию parameter less, то есть GetCustomersfn (), я получаю ожидаемый результат.
пожалуйста помочь..

Функция, приведенная ниже
[WebMethod]
   [ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Xml)]
   public string GetCustomersfn(string cusID)
   {
       string query = "SELECT * FROM Customers WHERE CustomerID LIKE @CustomerID";
       string tablename = "Customers";
       SqlCommand cmd = new SqlCommand(query);
       cmd.Parameters.AddWithValue("CustomerID", "%" + cusID.Substring(0, 1) + "%");
       DataSet data = GetData(cmd, tablename);
       //return GetData(cmd, tablename).GetXml();
       System.IO.StringWriter writer = new System.IO.StringWriter();
       data.Tables[0].WriteXml(writer, XmlWriteMode.WriteSchema, false);
       return writer.ToString();

   }

файл сценария приведен ниже
<script type="text/javascript">
            $(document).ready(function () {
                $('#dlcustomers').change(function () {
                    //            var obj = {};
                    //            obj.cusID = $.trim($("[id*=dlcustomers]").val());
                    //            alert(obj.cusID);
                    var cid = $.trim($("[id*=dlcustomers]").val());
                                alert(cid);

                    source = {
                        datatype: "xml",
                        datafields: [
                                        { name: 'CompanyName' },
                                        { name: 'ContactName' },
                                        { name: 'ContactTitle' },
                                        { name: 'City' },
                                        { name: 'Country' },
                                        { name: 'Address' }
                                    ],
                        async: false,
                        record: 'Customers',
                        url: 'DataWebService.asmx/GetCustomersfn',
                        data: { CusID: 'A'}
                        
                    };
                    var dataAdapter = new $.jqx.dataAdapter(source,
                { contentType: 'application/json; charset=utf-8' }
            );
                    $("#dataTable").jqxDataTable(
            {
                width: 850,
                height: 400,
                source: dataAdapter,
                pagerButtonsCount: 10,
                pageable: true,
                columnsresize: true,
                altRows: true,
                filterable: true,
                sortable: true,
                filtermode: 'advanced',
                // pagerMode: 'advanced',
                //  groups: ['City'],
                columns: [
                    { text: 'Company Name', dataField: 'CompanyName', width: 250 },
                    { text: 'Contact Name', dataField: 'ContactName', width: 150 },
                    { text: 'Contact Title', dataField: 'ContactTitle', width: 180 },
                    { text: 'Address', dataField: 'Address', width: 180 },
                    { text: 'City', dataField: 'City', width: 80 },
                    { text: 'Country', dataField: 'Country', width: 100 }
                ]
            });
                });
            });
    </script>



пожалуйста, помогите.. заранее спасибо

4 Ответов

Рейтинг:
2

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Ссылаться - Отправить (передать) несколько параметров WebMethod в jQuery AJAX POST in ASP.Net[^] и попробуйте эту технику.

Использование Преобразовать В Строки В Формате JSON.


Рейтинг:
1

jinesh sam

спасибо за ваш совет спасибо за ваш совет спасибо за ваш совет


ashish1985s

у меня такая же проблема не могли бы вы показать мне какой-нибудь образец того, как вы это сделали
Спасибо

Ашиш Шах

jinesh sam

@ashish1985s
я буду размещать код

Рейтинг:
1

jinesh sam

это код веб-службы, который я использовал

[WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public string trialbalancetotal(string ParishName, Int32 FiscalYear, string sdate = null, string edate = null)
    {
        string tablename = "Trial";
        SqlCommand cmd = new SqlCommand("spDisplayTrialBalanceTotal");
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@ParishName", ParishName);
        cmd.Parameters.AddWithValue("@yr", FiscalYear);

        if (sdate != "")
        {
            DateTime strtdate, enddate;
            strtdate = DateTime.ParseExact(sdate, "MM/dd/yyyy", CultureInfo.InvariantCulture);
            enddate = DateTime.ParseExact(edate, "MM/dd/yyyy", CultureInfo.InvariantCulture);

            cmd.Parameters.Add("@startdate", SqlDbType.DateTime).Value = strtdate;//.ToString("MM/dd/yyyy");
            cmd.Parameters.Add("@enddate", SqlDbType.DateTime).Value = enddate;//.ToString("MM/dd/yyyy");  
        }
        return GetData_reader(cmd, tablename);
    }


код JavaScript
$.fn.trialbalancetotal = function () {
    var obj = {};
    var checktype = $("#RadioDiv input:radio:checked").val()
    if (checktype == 'Year Wise') {
        obj.ParishName = $('#HF').val();
        obj.FiscalYear = $("#jqxDropDownListYear").jqxDropDownList('val');
        obj.sdate = "";
        obj.edate = "";

    }
    else {
        obj.ParishName = $('#HF').val();
        obj.FiscalYear = $("#jqxDropDownListYear").jqxDropDownList('val');
        obj.sdate = $('#jqxDateTimeInputstart').jqxDateTimeInput('val');
        obj.edate = $('#jqxDateTimeInputend').jqxDateTimeInput('val');
        //  alert(obj.sdate);

    }
    $.ajax({
        type: "POST",
        url: "../DataWebService.asmx/trialbalancetotal",
        data: JSON.stringify(obj),
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data) {
            var obj = JSON.parse(data.d);
            //alert(obj.Trial[0].Balance);
            $("#Balance").html('Balance :' + obj.Trial[0].Balance);
            $("#Openbalance").html('Opening:' + obj.Trial[0].OpenBalance);
            $("#Closebalance").html('Closing:' + obj.Trial[0].CloseBalance);
            $("#Income").html('Income:' + obj.Trial[0].Income);
            $("#Expense").html('Expense:' + obj.Trial[0].Expense);
            $("#btnbank").show();
        },
        error: function (error) {
            alert("Error in the trialbalancetotal call");
        }
    });
}


Надеюсь, это поможет


Рейтинг:
1

Jasorain

удалите строку cusID из общедоступной строки GetCustomersfn (string cusID), удалите WHERE CustomerID, например @CustomerID, из переменной запроса, а также удалите этот cmd.Parameters.AddWithValue("Кодклиента", "%" + cusID.Подстрока(0, 1) + "%");, и удаление данных: { CusID: 'а'} внутри документа.готов в aspx-страницу, и она будет полностью работать..!