0

我有以下字符串:

for(#some conditions){    
 ##
result += "<tr><td>" + dc + "</td><td>" + al + "</td><tr>"; 
}

dc现在,我想al在我的 HTML 输入文本区域中使用aspx:grid.

例如结果的值为:

result =  <tr><td>1111</td><td>23</td><td><tr><td>22222</td><td>43</td><tr>

现在我想使用以下格式显示数据grid

dc       al
1111     23
222222   43

现在,我正在使用以下命令填充文本区域。

<script type = "text/javascript">
    function submit_a()
    {
        $.post("../AllocationValidator.aspx", { "data": escape(validatorXML), "scenarioID": scenarioID }, function (result) {
            alert("Data Saved!");
            $("#allocations").empty();
            $("#allocations").html(result);
            BodyLoad();
        });
    }    
</script>

<div id = "allocations" style = "width: 650px; padding: 10px; border: 1px solid black;height: 150px; overflow:scroll;"></div>

我的问题是如何实现asp:grid显示数据?

4

1 回答 1

2

如果您只想在 GridView 控件中显示检索到的数据。您可以将数据源绑定到控件或以编程方式添加列和行。

您可以绑定任何实现 IListSource 或 IList 接口的数据源。这意味着您不能result直接绑定字符串,如问题标题中所述。您必须将检索到的数据存储在兼容的数据结构中,例如 List 以将其绑定为数据源。

要使用数据绑定,您可以将dc和保存al在类似字典的数据结构中。假设您只想显示两列数据。

var data = new Dictionary<string, string>();
for (/* Condition */)
{ 
    data.Add(dc, al);
}
grid.DataSource = data;
grid.DataBind();

相应的网格将是

<asp:GridView ID="grid" runat="server" AutoGenerateColumns="false">
<Columns>
    <asp:BoundField DataField="Key" HeaderText="dc"/>
    <asp:BoundField DataField="Value" HeaderText="al" />
</Columns> 
</asp:GridView>

如果您使用 foreach 来生成result字符串,那么您应该考虑使用 foreach 语句中的对象作为数据源的可能性。

于 2012-09-07T10:15:20.050 回答