【问题标题】:Row and Cells Issue行和单元格问题
【发布时间】:2014-11-11 19:20:34
【问题描述】:

您好,我在将表格行和单元格添加到现有表格时遇到了一些问题,我不确定原因。

编辑:我想要实现的是在按钮上单击另外三行以添加到现有表中。单击按钮时额外的表格行不会添加到表格中。

使用 ASP 和 C#,下面是我的代码,有人能指出我做错了什么的正确方向吗?

谢谢

ASP

        <asp:Table ID="tbleEquipment" runat="server">
        <asp:TableHeaderRow runat="server">
            <asp:TableHeaderCell>Sure Shot</asp:TableHeaderCell>
            <asp:TableHeaderCell>Body Moving</asp:TableHeaderCell>
            <asp:TableHeaderCell>Paul Revere</asp:TableHeaderCell>
            <asp:TableHeaderCell>Brass Monkey</asp:TableHeaderCell>
        </asp:TableHeaderRow>
        <asp:TableRow runat="server">
            <asp:TableCell><asp:TextBox ID="ET1" runat="server"></asp:TextBox></asp:TableCell>
            <asp:TableCell><asp:TextBox ID="D1" runat="server"></asp:TextBox></asp:TableCell>
            <asp:TableCell><asp:TextBox ID="F1" runat="server"></asp:TextBox></asp:TableCell>
            <asp:TableCell><asp:TextBox ID="P1" runat="server"></asp:TextBox></asp:TableCell>
        </asp:TableRow>
        <asp:TableRow runat="server">
            <asp:TableCell></asp:TableCell>
            <asp:TableCell><asp:Button ID="btnAddEquipment" runat="server" Text="Add" OnClick="btnAddEquipment_Click"></asp:Button></asp:TableCell>
            <asp:TableCell><asp:Button ID="btnRmvEquipment" runat="server"></asp:Button></asp:TableCell>
            <asp:TableCell></asp:TableCell>
        </asp:TableRow>

背后的C#代码

        protected void btnAddEquipment_Click(object sender, EventArgs e)
    {
        tbleEquipment.Visible = true;
        btnAddEquipment.Visible = true;


        for (int c = 0; c < 4; c ++)
        {
            TableRow tr1 = new TableRow();
            for (int cc = 0; cc < 4; cc ++)
            {
                TableCell tc1 = new TableCell();
                tr1.Cells.Add(tc1);
            }
            tbleEquipment.Rows.Add(tr1);
        }    
    }

【问题讨论】:

  • “无法将表格行和单元格添加到现有表格中” - 请详细说明。问题就像表格正在生成并且无法将其添加到现有表格/某种样式问题/您没有得到 tr 本身。
  • 抱歉,已经编辑了描述 - 是的,问题是点击时没有添加表格行,页面重新加载并且没有错误但没有最终结果。
  • 好像是回发问题,你能检查一下ispostback吗?
  • 按钮导致回发 - 根据是否发生回发,做了一个简单的标签来更改文本。

标签: c# asp.net


【解决方案1】:

你没有在 TabelCell 中设置任何东西

试试这样的检查然后你就明白了

    for (int c = 0; c < 4; c++)
    {
        TableRow tr1 = new TableRow();
        for (int cc = 0; cc < 4; cc++)
        {
            TableCell tc1 = new TableCell();
            tc1.Text = "|empty Cell|";
            tr1.Cells.Add(tc1);
        }
        tbleEquipment.Rows.Add(tr1);
    }

如果您在该单元格中添加文本框,请尝试这种方式

     for (int c = 0; c < 4; c++)
     {
        TableRow tr1 = new TableRow();
        for (int cc = 0; cc < 4; cc++)
        {
            TableCell tc1 = new TableCell();
            TextBox tb1 = new TextBox();
            tb1.ID = "txtTextBox" + cc.ToString();
            tc1.Controls.Add(tb1);
            tr1.Cells.Add(tc1);
        }
        tbleEquipment.Rows.Add(tr1);
     }

【讨论】:

  • 第二个答案正是我想要的。非常感谢。
【解决方案2】:

试试

for(int i=0;i<4;i++)
{
   tbleEquipment.Rows.Add();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-14
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 2017-05-03
    相关资源
    最近更新 更多