2

我有 2 列dhtmlx grid tabledropdown menu我想为每个单元格填充第二列。

我正在xml document生成C#

中的generated xml文件C#

<rows>

  <head>
    <column type="ed" width="205" sort="str">Product</column>
    <column type="co" width="205" sort="na" id="last">Class</column>
  </head>

 <row id="1">
   <cell>Product_name_1</cell>
   <cell>
    <select>
      <option id="1" value="1">first_option</option>
      <option id="2" value="2">second_option</option>
    </select>
   </cell>
 </row>

 <row id="2">
   <cell>Product_name_2</cell>
   <cell>
    <select>
      <option id="3" value="4">first_option</option>
      <option id="4" value="4">second_option</option>
    </select>
   </cell>
 </row>

</rows>

HtmlJavascript code

<body>
<div id="mygrid_container" style="width:1026px;height:500px"></div>
<script>
    var mygrid;
    $(document).ready(function () { 
        $.ajax({
            url: "/Admin/XMLForProducts",
            dataType: "json",
            type: "GET",
            data: {},
            success: function (result) {
                mygrid = new dhtmlXGridObject('mygrid_container');
                mygrid.init();
                mygrid.parse(result, "xml");
            }
        });
    });
</script>
</body>

在这种情况下,我只是让第一列填充了值(Product_name_1Product_name_2),我没有得到每个单元格的带有下拉菜单的第二列,我不知道如何解决这个问题。

4

1 回答 1

5
  1. 您需要在 xml 中使用某种转义空格字符。例如,

代替:

    <cell>
        <select>
          <option id="3" value="4">first_option</option>
          <option id="4" value="4">second_option</option>
        </select>
       </cell>

你需要:

<cell><![CDATA[<select><option id="3" value="4">first_option</option><option id="4" value="4">second_option</option></select>]]></cell>

这是关于在 xml 中处理特殊字符的教程: http ://docs.dhtmlx.com/doku.php?id=others:special_characters_in_xml

  1. 此外,我们不建议在您的网格中以这种方式使用 html 输入。您可以尝试使用“组合”exCell。

在这里您可以找到一个现成的示例:

http://www.dhtmlx.com/docs/products/dhtmlxGrid/samples/13_interaction_other_components/01_pro_combo.html

和一个教程:http ://docs.dhtmlx.com/doku.php?id=dhtmlxgrid:how_to_use_new_excell_combo

于 2013-06-03T11:38:34.367 回答