【问题标题】:I am trying to display first column in the grid我正在尝试在网格中显示第一列
【发布时间】:2017-09-19 23:54:55
【问题描述】:
  • 我正在尝试从网格下载文件。

    • 当我单击打开第一个窗口链接时,会打开一个弹出窗口。
    • 在该弹出窗口中,您将看到一个包含两列的网格。
    • 但现在你看不到第一列

    • 我正在尝试像示例原型小提琴一样下载文件。

    • 你们能告诉我如何在下面提供我的代码来解决它

样品原型 http://jsfiddle.net/khfL1jsh/

需要修复这个小提琴 http://jsfiddle.net/wL4v15vd/2/

template: function csvDownload() {
    //return "testing" + that.FinancialDocuments.ImageType(model);
    var htmlString = "<a id=\'sportsDataPlayer\' download=\'download.csv\' type=\'text\/csv\'>#= FileName.substring(FileName.lastIndexOf('/')+1) #</a>"
    var csv = "a,b,c\n1,2,3\n";
    var data = new Blob([csv]);
    var a2 = document.getElementById("sportsDataPlayer");
    alert("I am here");
    a2.href = URL.createObjectURL(data);
},

【问题讨论】:

    标签: javascript jquery html angularjs kendo-ui


    【解决方案1】:

    好的,我认为这最终是您所需要的: http://jsfiddle.net/wL4v15vd/9/

    columns: [{
          field: "FileName",
          title: "File Name",
    
          template: function csvDownload(ev) {
            //return "testing" + that.FinancialDocuments.ImageType(model);
            var csv = "a,b,c\n1,2,3\n";
            var data = new Blob([csv]);
            var a = $('<a/>', {
              class: 'sportsDataPlayer',
              download: 'download.csv',
              type: 'text/csv',
              href: URL.createObjectURL(data),
              html: ev.FileName
            });
            return a[0].outerHTML;
          }
        }, {
          field: "ThreeDots",
          title: "Last Name",
          template: "<span class='deleteRow'>ThreeDots</span>"
        }]
    

    当然要解释一下,你遇到的第一个问题是你的括号不好,之后你使用了 id - 一页上的相同 id 是非常糟糕的做法(每个元素的 id 必须是唯一的),你也在选择元素在页面上呈现之前。为了解决这个问题,我动态添加了元素创建并将其存储在变量中 - 现在 jquery 正在创建元素并在其上分配对象 - 对象属性与在 html 元素上放置属性相同。要获取 FileName,我们将参数传递给模板函数并从那里读取它。最后,由于您为模板定义了函数,我们需要返回实际上包含整个元素的 outerHTML,例如:

    <a class="sportsDataPlayer" download="download.csv" type="text/csv" href="blob:http://fiddle.jshell.net/8b53b8de-d0e1-40a5-b40f-0d9e3221915a">2 Download CSV (via btoa)</a>
    

    【讨论】:

    • 我仍然无法下载 css 文件...在这里提供您的小提琴,我看到此错误 VM282:191 Uncaught TypeError: Cannot set property 'href' of null jsfiddle.net/pegla/wL4v15vd/5跨度>
    • 嘿,我在这一行得到了 null 我放了一个调试器......知道如何在这里获取值 var a2 = document.getElementById("sportsDataPlayer"); jsfiddle.net/ohhrvopp
    • 是的,因为我返回了错误的东西,但您的问题是您设置了多个 id,我现在将其更改为 class,应该没问题,但您仍然需要在那里解决一些问题:@987654324 @
    • 但是我还是不能下载...你能告诉我如何下载...
    • 您能告诉我问题出在哪里以及您是如何解决的...以便将来我可以自己解决...
    猜你喜欢
    • 2022-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-02
    • 1970-01-01
    • 1970-01-01
    • 2015-09-20
    • 1970-01-01
    相关资源
    最近更新 更多