【问题标题】:Display Table data in Gridview在 Gridview 中显示表格数据
【发布时间】:2016-06-27 08:56:59
【问题描述】:

这里我试图显示用户在表格中输入的数据。我想在 Gridview 中添加这些数据。就像在表格中一样,用户将输入数据,然后这些数据必须保存在 Gridview 中,并且必须保存在数据库中。现在我正在尝试将这些数据保存在 Gridview 中。

此处输入数据的表格代码。在这里用户将输入数据。

    <asp:Table> //Table
    <asp:TableRow>
                            <asp:TableCell>
                                <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                                </asp:TableCell>
                             <asp:TableCell>
                                <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
                                </asp:TableCell>
                             <asp:TableCell>
                                <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
                                </asp:TableCell>
                             <asp:TableCell>
                                 <asp:TextBox ID="FromDate" runat="server"></asp:TextBox>
                             </asp:TableCell>
                             <asp:TableCell>
                                 <asp:TextBox ID="ToDate" runat="server"></asp:TextBox>
                             </asp:TableCell>
                             <asp:TableCell>
                                <asp:TextBox ID="TextBox6" runat="server"></asp:TextBox>
                                </asp:TableCell>
                        </asp:TableRow> 
                    </asp:Table>

这是在Gridview中添加表格数据的按钮。当用户单击此按钮时,用户在Table中输入的数据应该显示在gridview中。

     <button id="AddMore_Button" class="btn btn-primary" onclick="Save_Info()">Add More</button>  //button

这是 Gridview 的代码,用于在用户输入的表格中显示信息。此网格视图将显示在表格中输入的数据。

 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
                                    <Columns>
                                        <asp:BoundField HeaderText="Name" />
                                        <asp:BoundField HeaderText="Address" />
                                        <asp:BoundField HeaderText="Contact" />
                                        <asp:BoundField HeaderText="From Date" />
                                        <asp:BoundField HeaderText="To Date" />
                                        <asp:BoundField HeaderText="Website" />
                                    </Columns>

这是显示数据的C#代码。这里用户输入的表格中的数据将显示在gridview中。

    protected void Save_Info(object sender, EventArgs e)
            {
                DataTable dt = new DataTable(); //Datatable

                dt.Columns.Add(TextBox1.Text);
                dt.Columns.Add(TextBox2.Text);
                dt.Columns.Add(TextBox3.Text);
                dt.Columns.Add(FromDate.Text);
                dt.Columns.Add(ToDate.Text);
                dt.Columns.Add(TextBox6.Text);
                GridView1.DataSource = dt;  //Gridview
                GridView1.DataBind(); //binding data to Gridview
               }

当我单击“Add_More”按钮时,它不会将数据保存在 Gridview 中,也不会显示数据。如何使用 C# 实现这一点。 这段代码有什么问题..??请告诉我。

【问题讨论】:

  • 现在是什么问题
  • 你在使用网络表单吗?
  • 只是一个提示,您没有正确设置数据表列,dt.Columns.Add(new datacolumn("Name",typeof(string)));。所以首先检查如何以编程方式创建数据表。此外,您不必使用数据表绑定到 gridview。您可以创建一个 poco 类并用您的数据填充它,然后绑定到 gridview,工作起来更轻松、更高效。
  • #Nazir:按钮未触发。是的,我正在使用 Web 表单

标签: c# asp.net


【解决方案1】:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" >
    <Columns>
        <asp:BoundField HeaderText="Name" DataField="Name" />
        <asp:BoundField HeaderText="Address" DataField="Address"/>
        <asp:BoundField HeaderText="Contact" DataField="Contact" />
        <asp:BoundField HeaderText="From Date" DataField="FromDate" />
        <asp:BoundField HeaderText="To Date" DataField="ToDate" />
        <asp:BoundField HeaderText="Website"  DataField="Website"/>
    </Columns>
</asp:GridView>

将此代码放在您的按钮单击事件中:

{    
    DataTable dt = new DataTable();
    dt.Columns.Add("Name");
    dt.Columns.Add("Address");
    dt.Columns.Add("Contact");
    dt.Columns.Add("FromDate");
    dt.Columns.Add("ToDate");
    dt.Columns.Add("Website");

    DataRow dr1 = dt.NewRow();

    dr1["Name"] = TextBox1.Text;
    dr1["Address"] = TextBox2.Text;
    dr1["Contact"] = TextBox3.Text;
    dr1["FromDate"] = FromDate.Text;
    dr1["ToDate"] = ToDate.Text;
    dr1["Website"] = TextBox6.Text;

    dt.Rows.Add(dr1);
    GridView1.DataSource = dt;  
    GridView1.DataBind(); 
}

这是一段工作代码。

【讨论】:

  • 为什么我的按钮没有通过使用这个来执行任何操作..根本没有触发这个。 上述代码行中的任何错误
  • 试试这个按钮代码:
【解决方案2】:
 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
   <Columns>
      <asp:BoundField HeaderText="Name" DataField="Name" />
      <asp:BoundField HeaderText="Address" DataField="Address"/>
      <asp:BoundField HeaderText="Contact" DataField="Contact"/>
      <asp:BoundField HeaderText="From Date" DataField="FromDate"/>
      <asp:BoundField HeaderText="To Date" DataField="ToDate"/>
      <asp:BoundField HeaderText="Website" DataField="Website"/>
   </Columns>

在 C# 代码方面你可以这样做

DataTable dt = new DataTable();
protected void Save_Info(object sender, EventArgs e)
  {
    DataRow dr1 = dt.NewRow();

    dr1["Name"] =TextBox1.Text;
    dr1["Address"] =TextBox2.Text;
    dr1["Contact"] =TextBox3.Text;
    dr1["FromDate"] =FromDate.Text;
    dr1["ToDate"] =ToDate.Text;
    dr1["Website"] =TextBox6.Text;
    dt.Rows.Add(dr1); 
    GridView1.DataSource = dt;  //Gridview
    GridView1.DataBind(); //binding data to Gridview
 }

【讨论】:

  • 此代码给出错误“您正在尝试在空表中添加新行”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多