我想在一個固定的索引綁定一個GridView列於表元素固定索引列表元素,但我得到一個異常時,我執行Grid.DataBind();
:綁定的GridView列在
找不到字段或屬性從 選定的數據源名爲'Misure [0] .ID'。
自定義類別:
public partial class RowTabellaConcentrazioneGiornaliera
{
public DateTime Data { get; set; }
public string DataString { get; set; }
public List<MisuraConcentrazione> Misure { get; set; }
}
public partial class MisuraConcentrazione
{
public double MediaOraTQ { get; set; }
public double MediaOraNorm { get; set; }
public double ID { get; set; }
public string IVTQ { get; set; }
public string IVN { get; set; }
public string MeasureCod { get; set; }
public string DescrizioneParametro { get; set; }
}
GridView控件:
<asp:GridView ID="GridDatiConcentrazione" runat="server" AutoGenerateColumns="false" >
<Columns>
<asp:BoundField DataField="DataString" HeaderText="Ora" ItemStyle-Width="50px" ItemStyle-HorizontalAlign="Center" />
</Columns>
</asp:GridView>
Mehod:
protected void SetTabellaSintesiConcentrazioniGiornaliere(BFStat.BFStat _BFStat1, GridView Grid)
{
//Carica Griglia di sintesi concentrazione
List<RowTabellaConcentrazioneGiornaliera> y = _BFStat1.GetConcentrazioniOrarie();
int i = 0;
foreach (MisuraConcentrazione riga in y[0].Misure)
{
BoundField NewColonnaID = new BoundField();
NewColonnaID.HeaderText = "Ind. Disp.";
NewColonnaID.DataField = "Misure[" + i + "].ID";
Grid.Columns.Add(NewColonnaID);
BoundField NewColonnaValueTQ = new BoundField();
NewColonnaValueTQ.HeaderText = "Valore TQ";
NewColonnaValueTQ.DataField = "Misure[" + i + "].MediaOraTQ";
Grid.Columns.Add(NewColonnaValueTQ);
BoundField NewColonnaIVTQ = new BoundField();
NewColonnaIVTQ.HeaderText = "Validità TQ";
NewColonnaIVTQ.DataField = "Misure[" + i + "].IVTQ";
Grid.Columns.Add(NewColonnaIVTQ);
BoundField NewColonnaValueN = new BoundField();
NewColonnaValueN.HeaderText = "Valore N";
NewColonnaValueN.DataField = "Misure[" + i + "].MediaOraNorm";
Grid.Columns.Add(NewColonnaValueN);
BoundField NewColonnaIVN = new BoundField();
NewColonnaIVN.HeaderText = "Validità N";
NewColonnaIVN.DataField = "Misure[" + i + "].IVN";
Grid.Columns.Add(NewColonnaIVN);
i++;
}
Grid.DataSource = y;
Grid.DataBind();
}
'DataField'應該是一個屬性名,所以很明顯「MISURE [0] .ID」是行不通的,但究竟什麼是你想怎麼辦? –
在列表'Misure'中,我有一個可變數量的元素。我想爲每個元素添加五個網格列,並將這些元素的屬性數據放入這些列中。 – Pomp
您不要爲每個項目添加列,而是爲整個列表添加列。添加列之後,您需要將列表綁定到網格。 –