Gridview не хранит записи и не отображает последнюю введенную запись
в моем приложении мне сначала нужно иметь кнопку при нажатии кнопки, пользователь должен увидеть всплывающее окно с метками и текстовыми полями, а при нажатии кнопки добавления данные должны быть добавлены в представление сетки, все будет сделано, но если в первый раз я введите данные человека, и я нажимаю кнопку добавления, затем они добавляются в gridview, опять же, если я ввожу данные другого человека, то данные, которые находятся в gridview для первого лица, исчезают, а в gridview отображаются данные второго человека, но это должен отображать обе записи также, если я снова запускаю приложение после добавления записей, тогда добавленные записи не отображаются в gridview, как я могу отображать добавленные записи, даже если я запускаю приложение в любое время.
Что я уже пробовал:
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <style type="text/css"> .Background { background-color: Black; filter: alpha(opacity=90); opacity: 0.8; } .Popup { background-color: #FFFFFF; border-width: 3px; border-style: solid; border-color: black; padding-top: 10px; padding-left: 10px; width: 400px; height: 350px; } .lbl { font-size:16px; font-style:italic; font-weight:bold; } </style> </head> <body> <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:Button ID="Button1" runat="server" Text="Fill Form in Popup" /> <div style="margin-left:10px;margin-top:10px"> <asp:GridView ID="GridView1" AutoGenerateColumns="false" runat="server" CellPadding="2" ForeColor="#333333" GridLines="None"> <AlternatingRowStyle BackColor="White" /> <Columns> <asp:BoundField HeaderStyle-Width="120px" HeaderText="FirstName" DataField="FirstName" /> <asp:BoundField HeaderStyle-Width="120px" HeaderText=" MiddleName" DataField="MiddleName" /> <asp:BoundField HeaderStyle-Width="120px" HeaderText=" LastName" DataField="LastName" /> <asp:BoundField HeaderStyle-Width="120px" HeaderText="Gender" DataField="Gender" /> </Columns> <EditRowStyle BackColor="#2461BF" /> <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" /> <RowStyle BackColor="#EFF3FB" /> <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" /> <SortedAscendingCellStyle BackColor="#F5F7FB" /> <SortedAscendingHeaderStyle BackColor="#6D95E1" /> <SortedDescendingCellStyle BackColor="#E9EBEF" /> <SortedDescendingHeaderStyle BackColor="#4870BE" /> </asp:GridView> </div> <!-- ModalPopupExtender --> <cc1:ModalPopupExtender ID="mp1" runat="server" PopupControlID="Panl1" TargetControlID="Button1" CancelControlID="Button2" BackgroundCssClass="Background"> </cc1:ModalPopupExtender> <asp:Panel ID="Panl1" runat="server" CssClass="Popup" align="center" style = "display:none"> <div id="irm1" style=" width: 300px; height: 250px;" runat="server" > <table> <tr> <td> <asp:Label ID="Label1" runat="server" CssClass="lbl" Text="First Name"></asp:Label> </td> <td> <asp:TextBox ID="TextBox1" runat="server" Font-Size="14px" ></asp:TextBox> </td> </tr> <tr> <td> <asp:Label ID="Label2" runat="server" CssClass="lbl" Text="Middle Name"></asp:Label> </td> <td> <asp:TextBox ID="TextBox2" runat="server" Font-Size="14px" ></asp:TextBox> </td> </tr> <tr> <td> <asp:Label ID="Label3" runat="server" CssClass="lbl" Text="Last Name"></asp:Label> </td> <td> <asp:TextBox ID="TextBox3" runat="server" Font-Size="14px" ></asp:TextBox> </td> </tr> <tr> <td> <asp:Label ID="Label4" runat="server" CssClass="lbl" Text="Gender"></asp:Label> </td> <td> <asp:TextBox ID="TextBox4" runat="server" Font-Size="14px" ></asp:TextBox> </td> <td> <asp:Button ID="Button3" runat="server" Text="Add" OnClick="Button3_Click" /> </td> </tr> </table> </div> <br /> <asp:Button ID="Button2" runat="server" Text="Close" /> </asp:Panel> <!-- ModalPopupExtender --> </form> </body>
В моем коде позади-
protected void Page_Load(object sender, EventArgs e) { dt = new DataTable(); DataColumn dc1 = new DataColumn("FirstName"); DataColumn dc2 = new DataColumn("MiddleName"); DataColumn dc3 = new DataColumn("LastName"); DataColumn dc4 = new DataColumn("Gender"); dt.Columns.Add(dc1); dt.Columns.Add(dc2); dt.Columns.Add(dc3); dt.Columns.Add(dc4); DataRow dr1 = dt.NewRow(); GridView1.DataSource = dt; GridView1.DataBind(); } DataTable dt; protected void Button3_Click(object sender, EventArgs e) { DataRow dr1 = dt.NewRow(); dr1[0] = TextBox1.Text; dr1[1] = TextBox2.Text; dr1[2] = TextBox3.Text; dr1[3] = TextBox4.Text; dt.Rows.Add(dr1); GridView1.DataSource = dt; GridView1.DataBind(); ClearFields(); } protected void ClearFields() { TextBox1.Text = ""; TextBox2.Text = ""; TextBox3.Text = ""; TextBox4.Text = ""; }
manishss
если вы хотите этого, вы можете сделать это другим способом
PIEBALDconsult
Я не вру, а вы пробовали ДТ.Метод acceptchanges() ?
https://msdn.microsoft.com/en-us/library/system.data.datatable.acceptchanges(v=против 110). aspx
Member 12324523
можете ли вы показать это в моем коде