私が抱えている問題は、DataTable を Gridview に表示することです。Web で回答を検索しましたが、見つかったものはすべて、クエリが実行された直後にデータベース情報をバインドすることに関連しています。クエリから取得したデータを操作して平均を表示する必要があるため、データテーブル内のすべてがローカル変数とコンテナーに格納されます。aspx ページの gridview のコードと、行をテーブルに追加し、テーブルを girdview にバインドするブロックを次に示します。ウェブに表示されない理由についてのヘルプをいただければ幸いです。私はVS2012と.Net v4を使用しています
DataRow newRow;
for (int i = 0; i < portcount; i++)
{
newRow = averageTable.NewRow();
newRow["port_num"] = i+1;
newRow["port_status"] = currentstat[i]; //this is a list<Int32>
newRow["average_uptime"] = (statusCalc[i] / counter) * 100;
//statusCalc is an int array
averageTable.Rows.Add(newRow);
}
statusRdr.Close();
GridView completeView = new GridView();
this.completeView.Visible = true;
completeView.DataSource = averageTable;
completeView.DataBind();
<asp:Content ID="bodyContnet" ContentPlaceHolderID="cphContent" runat="server">
<asp:GridView ID="completeView" runat="server" AutoGenerateColumns="False" ViewStateMode="Enabled" ForeColor="WhiteSmoke" Width="51%" Height="204px">
<Columns>
<asp:BoundField DataField="port_num" HeaderText="Port" />
<asp:BoundField DataField="port_status" HeaderText="Status" />
<asp:BoundField DataField="average_uptime" HeaderText="Average Uptime" />
</Columns>
</asp:GridView>
<br />
<br />
<asp:Label ID="message" runat="server" ForeColor="WhiteSmoke" Text="Port Status Table"></asp:Label>
</asp:Content>