这是我第一次尝试使用列表视图,我花了一天的更好的一部分击败我的头靠墙试图使其工作。我创建了一个列表视图,我试图用来自Oracle数据库的数据填充。我试图使用datareader来填充listview,但我很难使其工作。在listview表单控件中完成这些操作有很多,但对于Web控件来说并没有太多。任何帮助将不胜感激。从datareader填充列表视图控制
我已经能够获得最远的是这样的:
While reader.Read
Dim obj As New ListViewDataItem((reader(0)), (reader(1)))
lsvGeneratedForms.Items.Add(obj)
End While
但这只是让我读2个对象(我需要在4拉),我碰到一个类型转换错误,我的数据库只包含字符串&日期数据类型。
标记为列表视图:
<div class="GeneratedFormsDivStyle" style="height:300px; overflow:scroll">
<asp:ListView runat="server" ID="lsvGeneratedForms">
<LayoutTemplate>
<table id="tblFormList" border="0" cellpadding="0" cellspacing="0">
<tr style="background-color:#ccdaeb">
<th align="left">
<asp:Label ID="hdrAgreeNo" runat="server" Text="Agreement No"/> </th>
<th align="left">
<asp:Label ID="hdrGenDate" runat="server" Text="Date Generated"/></th>
<th align="left">
<asp:Label ID="hdrLEAcct" runat="server" Text="Legal Entity Account"/></th>
<th align="left">
<asp:Label ID="hdrStatus" runat="server" Text="Status"/></th>
</tr>
<tr id="itemPlaceholder" runat="server"></tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label runat="server" ID="lblAgreeNo"><%#Eval("AGREEMENT_NUM")%></asp:Label></td>
<td>
<asp:Label runat="server" ID="lblGenDate"><%#Eval("GEN_DATE")%></asp:Label></td>
<td>
<asp:Label runat="server" ID="lblLEAcct"><%#Eval("LE_ACCOUNT")%></asp:Label></td>
<td>
<asp:Label runat="server" ID="lblStatus"><%#Eval("STATUS")%></asp:Label></td>
</tr>
</ItemTemplate>
</asp:ListView>
</div>
'ListView'是一个数据绑定控件。其概念是每个“项目”对应于绑定数据源中的项目。该“项目”可以有多个属性(字段)。它看起来像你试图在代码后面设置所有的“Item”属性。我建议改变你的方法 - 从你的数据库中创建一个“Items”的集合,并将该集合绑定到ListView。例如,创建一个具有与数据绑定名称匹配的属性的类,构建该类的'List'并将列表绑定到控件。 –
Tim