javascript - 输入数组较长

标签 javascript jquery linq gridview datatable

我尝试通过Web方法和jquery函数在 GridView 中显示数据,所以我尝试这个。当用户从下拉列表中选择值并从日历中选择日期时,我尝试显示 gridview

$(function () {
              $('[ID*=search_data]').on('click', function () {
                  var fromdate = $('[ID*=fromdate]').val();
                  var todate = $('[ID*=todate]').val();
                  var regiondrop = $('[ID*=regiondrop] option:selected')[0].value;
                  var GridView1 = $('[ID*=GridView1]');
                  var obj = {};
                  obj.fromdate = fromdate;
                  obj.todate = todate;
                  obj.regiondrop = regiondrop;
                 Getdataa(obj);
                 });
         });
         function Getdataa(obj) {
             //alert('1');
             $.ajax({
                 type: "POST",
                 url: "WebForm1.aspx/search_data",
                 data: "{'fromdate':'" + obj.fromdate + "','todate':'" + obj.todate + "','regiondrop':'" + obj.regiondrop + "'}",
                 contentType: "application/json; charset=utf-8",
                 dataType: "json",
                 async: true,
                 cache: false,
                 success: function (result) {
                     $("#GridView1").empty();
                     if (result.d.length > 0) {
                         $("#GridView1").append(
       "<tr><th>ID</th><th>OName</th><th>Reg No</th><th>Speed</th></tr>");

                         for (var i = 0; i < result.d.length; i++) {
                             $("#GridView1").append("<tr><td>" +
              result.d[i].ID+ "</td> <td>" +
              result.d[i].OName + "</td> <td>" +
               result.d[i].Reg No+ "</td> <td>" +
              result.d[i].Speed+ "</td></tr>");
                         }
                     }
                     else {
                         $("#GridView1").hide();
                         $("#Label1").text("No Data");
                     }
                 },
                 error: function (error) {
                     alert("error");

                 }
             });
         }

Web方法

   [WebMethod]
    public static DataTable search_data(DateTime fromdate, DateTime todate, string regiondrop)
    {
        try
        {
            T1 ts = new T1();
            var dq = (from vv in ts.tblVe
                      join rv in ts.tblRe on vv.ID equals rv.ID
                      join re in ts.tblReg on rv.RID equals re.RID
                      where
                      re.Region == regiondrop
                      && re.StartDate <= fromdate
                      && re.EndDate >= todate
                      orderby
                      vv.ID,
                      rv.OwnerName
                      select new
                      { 
                          ID=rv.ID,
                          OName = rv.OName ,
                          RegNo = rv.RegNo,
                          Speed = rv.Speed ,
                      }).ToList();
            DataTable dt = new DataTable();
            dt.Rows.Add(dq);
            return dt;
        }
        catch (Exception)
        {
            throw new Exception();

        }
    }

在 var dq..dq 中显示此数据

[0] = { ID = 1, OName = "Khan", RegNo = "AJ-24",Speed = "124" } [1] = { ID = 2, OName = "Shah", RegNo = "AL-91",Speed = "95" } 

更新

   DataTable dt = new DataTable();
            dt.Columns.Add("ID", typeof(int));
            dt.Columns.Add("OName", typeof(string));
            dt.Columns.Add("RegNo", typeof(string));
            dt.Columns.Add("Speed", typeof(string));
            dt.Rows.Add(dq);
            return dt;

出现异常

Unable to cast object of type 'System.Collections.Generic.List`1[<>f__AnonymousType6`5[System.Int32,System.String,System.String,System.String,System.String]]' to type 'System.IConvertible'.Couldn't store <System.Collections.Generic.List`1[<>f__AnonymousType6`5[System.Int32,System.String,System.String,System.String,System.String]]> in ID Column.  

最佳答案

您必须在数据表中添加列

dt.Columns.Add();

了解更多信息:https://msdn.microsoft.com/en-us/library/hfx3s9wd(v=vs.110).aspx

关于javascript - 输入数组较长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38408036/

相关文章:

c# - 指定的强制类型转换无效的 Linq 查询

php - 在数据库中进行搜索的最有效方法

jquery - 使用 jQuery 在 HTML select 上过滤 "live search"(过滤)项目

javascript - "Uncaught TypeError: undefined is not a function"错误只发生在生产中——而不是在开发中

c# - 使用 LINQ-to-SQL 从 SQL Server 存储过程返回单行值

javascript - JQuery 检查 ID 中的类..如果存在更改 img src 内容

javascript - OS X 上的 Node.js 奇怪行为(可能是模块内存限制)

javascript - 约束错误 : Key already exists in the object store

JavaScript 输出到文件

c# - 林克异常 : Function can only be invoked from linq to entities