我的数据视图有问题。我动态地创建新的datacolumns,为它们赋值,并将它们添加到我的datatable中。在使用过滤器之前,绑定时这很好。所有的值都出现了。
然而,我已经选择通过过滤(按字母)来减少返回的结果,并且我返回的dataview似乎不允许绑定新创建的数据列。我已经挖掘到过滤视图中,可以看到这些值是我需要的。
--Firstly create new datacolumn
Dim ICount As System.Data.DataColumn = New System.Data.DataColumn
ICount.DataType = System.Type.GetType("System.String")
ICount.AllowDBNull = True
ICount.ColumnName = "ICount"
register.Columns.Add(ICount)
--integer value is first calculated and then put into the datatable row
row("ICount") = IntegerCount.ToString()
--filtered view is created from datatable (returned from viewstate)
Dim filteredView As New Data.DataView(pTable, FilterExpression, "Surname", Data.DataViewRowState.OriginalRows)
--view is bound
grd.DataSource = filteredView
grd.DataBind()
--Markup
<asp:TemplateField HeaderText ="ICount" SortExpression="ICount">
<ItemTemplate>
<asp:Label ID="IC" runat="server" Text='<%# Bind("ICount") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
任何帮助都将不胜感激!!!