1

我想将我的 totalcomplete 变量绑定到我的 gridProgress 中的 lblComplete 但我不知道该怎么做,有人可以帮我吗?

ASP 代码:

<asp:GridView ID="gridProgress" runat="server" AutoGenerateColumns="False">
    <Columns>
       <asp:TemplateField HeaderText="Complete">
          <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="10%" />
          <HeaderStyle HorizontalAlign="Center" />
          <ItemTemplate>
              <asp:Label ID="lblComplete" runat="server"></asp:Label>
          </ItemTemplate>
      </asp:TemplateField>
    </Columns>
</asp:GridView>

C#代码:

da = new SqlDataAdapter(sql, oConn);
da.Fill(ds);


//count number of tasks completed, not completed
int count = ds.Tables[0].Rows.Count;
string value = ds.Tables[0].Rows[0]["Completed"].ToString();
int completed = 0;
for (int i = 0; i < count; i++)
{
   if (value == "No")
   {
       completed++;
   }                
   int totalcomplete = completed;
   //here i want to bind totalcomplete to my lblCompleted
}
4

3 回答 3

1

使用 的FindControl属性Gridview

Label lbl = gv.Rows[rowIndex].FindControl("lblComplete") as Label;
lbl.Text = Convert.ToString(totalcomplete); 
于 2013-03-22T14:46:48.087 回答
1

你的问题不清楚。
你想在每一行
或其他地方显示totlalComplete吗?
因为您在 gridview 中有一个模板字段
所以它将在每一行中呈现

而且你的循环也很奇怪
应该如下

int count = ds.Tables[0].Rows.Count;
int completed = 0;
for (int i = 0; i < count; i++)
{
   string value = ds.Tables[0].Rows[i]["Completed"].ToString();
   if (value == "No")
   {
      completed++;
   }                
   int totalcomplete = completed;
   //here i want to bind totalcomplete to my lblCompleted
}

编辑 1

这是一个链接,可以帮助您
在 GridView 的页脚中显示总计,并在最后一列中添加列总和(行虎钳)
http://csharpdotnetfreak.blogspot.com/2009/07/display-total-in-gridview-footer .html

于 2013-03-22T14:50:32.740 回答
0

您可以使用 DataBinder.Eval method

Text='<%# DataBinder.Eval(Container.DataItem,"totalcomplete") %>'
于 2013-03-22T14:32:08.660 回答