如何在gridview中绑定变量值?

how to bind variable value in gridview?

我想在 gridview 中显示一些 变量值

代码:

 int cnt = Convert.ToInt32(txtCount.Text);
 DateTime start = Convert.ToDateTime(txtStart.Text);
 DateTime end = Convert.ToDateTime(txtEnd.Text);
 TimeSpan datedifference = end.Subtract(start);
 int dateCount = datedifference.Days;
 float maxUpload = dateCount * 288;  
 float remainingUpload = maxUpload - cnt;
 float averageUpload = remainingUpload / (dateCount * 288) * 100;

我想显示 dateCountmaxUploadremainingUploadaverageUpload 在网格视图中。请帮助我找到合适的解决方案。谢谢。

这样试试:

<asp:TemplateField HeaderText="DateCount">
            <ItemTemplate>
                <%# dateCount %>
//Your Public Scope Variable Goes Here
            </ItemTemplate>
        </asp:TemplateField>

首先创建数据 table 然后将 header 设置为网格视图然后使用 gridview.Add 方法向网格添加值 view.then 将数据源设置为 grid-view 最后用 gridview

绑定值
            DataTable dt = new DataTable();
            dt.Columns.AddRange(new DataColumn[3] { new DataColumn("header1"), new DataColumn("header2 "), new DataColumn("header3") });
            dt.Rows.Add(cnt , start , end );

            GridView1.DataSource = dt;
            GridView1.DataBind();

How add values of columns of gridview in asp.net

将您的变量添加到 multi-dimensional array
然后将该数组绑定到 DataTable.

代码

int cnt = Convert.ToInt32(txtCount.Text);
DateTime start = Convert.ToDateTime(txtStart.Text);
DateTime end = Convert.ToDateTime(txtEnd.Text);
TimeSpan datedifference = end.Subtract(start);
int dateCount = datedifference.Days;
float maxUpload = dateCount * 288;  
float remainingUpload = maxUpload - cnt;
float averageUpload = remainingUpload / (dateCount * 288) * 100;

string[,] row1 = { { dateCount.ToString(), maxUpload.ToString(), remainingUpload .ToString(), averageUpload .ToString() } };

DataTable table = new DataTable();
table.Columns.Add("DateCount", typeof(string));
table.Columns.Add("maxUpload", typeof(string));
table.Columns.Add("remainingUpload", typeof(string));
table.Columns.Add("averageUpload", typeof(string));
for (int i = 0; i <= row1.GetUpperBound(0); i++)
{
    table.Rows.Add();
    table.Rows[i]["DateCount"] = row1[i, 0];
    table.Rows[i]["maxUpload"] = row1[i, 1];
    table.Rows[i]["remainingUpload"] = row1[i, 2];
    table.Rows[i]["averageUpload"] = row1[i, 3];
}

gridview1.DataSource = table;
gridview1.DataBind();

源代码

<asp:GridView ID="gridview1" runat="server" AutoGenerateColumns="true">

</asp:GridView>

别忘了添加这个 namespace

using System.Data;

如果你只需要显示一行,你可以使用标签和 html table:

<table>
        <tr>
            <th>Count</th>
            <th>Max Upload</th>
            <th>Remaining Upload</th>
            <th>Average Upload</th>
        </tr>
        <tr>
            <td>
                <asp:Label ID="lblCount" runat="server" ></asp:Label>
            </td>
            <td>
                <asp:Label ID="lblMaxUpload" runat="server" ></asp:Label>
            </td>
            <td>
                <asp:Label ID="lblRemainingUpload" runat="server" ></asp:Label>
            </td>
            <td>
                <asp:Label ID="lblAverageUpload" runat="server" ></asp:Label>
            </td>
        </tr>
    </table>

int cnt = Convert.ToInt32(txtCount.Text);
DateTime start = Convert.ToDateTime(txtStart.Text);
DateTime end = Convert.ToDateTime(txtEnd.Text);
TimeSpan datedifference = end.Subtract(start);
int dateCount = datedifference.Days;
float maxUpload = dateCount * 288;  
float remainingUpload = maxUpload - cnt;
float averageUpload = remainingUpload / (dateCount * 288) * 100;

lblCount.Text = Convert.ToString(dateCount);
lblMaxUpload.Text = Convert.ToString(maxUpload );
lblRemainingUpload.Text = Convert.ToString(remainingUpload );
lblAverageUpload.Text = Convert.ToString(averageUpload );