加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何从GridView中的模板字段中获取值?

发布时间:2020-12-15 08:07:56 所属栏目:百科 来源:网络整理
导读:这是我的GridView标记. Columns asp:TemplateField HeaderText="Customer Name" ItemTemplate asp:Label ID="lblname" runat="server" Text='%# DataBinder.Eval(Container.DataItem,"Customer.Name")%'/asp:Label /ItemTemplate /asp:TemplateField asp:Tem
这是我的GridView标记.
<Columns>
    <asp:TemplateField HeaderText="Customer Name">
        <ItemTemplate>
            <asp:Label ID="lblname" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Customer.Name")%>'></asp:Label>
        </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="PickUpPoint">
        <ItemTemplate>
            <asp:Label ID="lblPickUpPoint" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Pickuppoint")%>'></asp:Label>
        </ItemTemplate>
    </asp:TemplateField>
</Columns>

我有一个按钮,将值存储在excel对象的工作表单元格中.

for (int i = 0; i < GridView2.Rows.Count; i++)
{
    for (int j = 0; j < GridView2.Rows[i].Cells.Count; j++)
    {
        xlWorkSheet.Cells[i + 1,j + 1] = GridView2.Rows[i].Cells[j].Text;
   }
}

如何获取GridView的值并将其存储在工作表中,因为GridView2.Rows [i] .Cells [j] .Text返回空字符串.

解决方法

你缺少一个类型转换.像这样做-
Label name = (Label)GridView2.Rows[i].Cells[j].FindControl("lblname");
xlWorkSheet.Cells[i + 1,j + 1] = name.Text;

更新 – 如果您可以将标签命名为Label0和Label1,那么在第二个for循环中 –

for (int j = 0; j < GridView2.Rows[i].Cells.Count; j++)
  {
     Label xyz = (Label)GridView2.Rows[i].Cells[j].FindControl("Label"+j);
     xlWorkSheet.Cells[i + 1,j + 1] = xyz.Text;
  }

对于Header文本字符串hText = GridView2.HeaderRow.Cells [您的列号] .Text;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读