Asp.net 网格视图:添加行时,网格视图中的文本框中没有数据
本文关键字:视图 网格 文本 数据 net 添加行 Asp | 更新日期: 2023-09-27 17:56:40
这是我的第一个问题,所以如果你不明白,请说出来,所以我会更具体。
这是我的aspx代码
<asp:GridView ID="GridView1" runat="server" Style="margin-right: 0px" CellPadding="4" ForeColor="#333333" GridLines="None" ShowFooter="True" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="Nummer" HeaderText="Nummer" />
<asp:TemplateField HeaderText="Omschrijving" ControlStyle-Width="300px">
<FooterTemplate>
<asp:TextBox ID="txt_omschrijvingbank" runat="server"></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Grootboekrekening">
<FooterTemplate>
<asp:DropDownList ID="dr_grootboek" runat="server" DataSourceID="SqlDataSource2" DataTextField="grootboekrekening" DataValueField="grootboekrekeningnummer"></asp:DropDownList>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Btw">
<FooterTemplate>
<asp:DropDownList ID="drp_btw" runat="server">
<asp:ListItem>Selecteer btw</asp:ListItem>
<asp:ListItem>21%</asp:ListItem>
<asp:ListItem>6%</asp:ListItem>
<asp:ListItem>0%</asp:ListItem>
</asp:DropDownList>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Debet">
<FooterTemplate>
<asp:TextBox ID="txt_debet" runat="server"></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Credet">
<FooterTemplate>
<asp:TextBox ID="txt_credit" runat="server"></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="">
<FooterTemplate>
<asp:Button ID="btn_voegtoe" OnClick="Button3_Click" runat="server" Text="Voeg toe" />
</FooterTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
en 这是我背后的代码
DataTable dt1 = new DataTable();
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
gridVIEWData();
begin();
GridView1.DataSource = dt1;
GridView1.DataBind();
}
}
private void gridVIEWData()
{
dt1.Columns.Add(new DataColumn("Nummer", typeof(string)));
dt1.Columns.Add(new DataColumn("Omschrijving", typeof(string)));
dt1.Columns.Add(new DataColumn("Grootboekrekening", typeof(string)));
dt1.Columns.Add(new DataColumn("Btw", typeof(string)));
dt1.Columns.Add(new DataColumn("Debet", typeof(string)));
dt1.Columns.Add(new DataColumn("Credit", typeof(string)));
Session["dtInSession"] = dt1; //Saving Datatable To Session
}
protected void Button3_Click(object sender, EventArgs e)
{
if (Session["dtInSession"] != null)
dt1 = (DataTable)Session["dtInSession"]; //Getting datatable from session
TextBox Omschrijving = (TextBox)GridView1.FooterRow.FindControl("txt_omschrijvingbank");
DropDownList Grootboekrekening = (DropDownList)GridView1.FooterRow.FindControl("drp_grootboek");
DropDownList Btw = (DropDownList)GridView1.FooterRow.FindControl("drp_btw");
TextBox Debet = (TextBox)GridView1.FooterRow.FindControl("txt_debet");
TextBox Credit = (TextBox)GridView1.FooterRow.FindControl("txt_credit");
Response.Write(Credit.Text);
DataRow dr = dt1.NewRow();
dr["Nummer"] = 1;
dr["Omschrijving"] = Omschrijving.Text;
dr["Grootboekrekening"] = Grootboekrekening.SelectedItem;
dr["Btw"] = Btw.SelectedItem;
dr["Debet"] = Debet.Text;
dr["Credit"] = Credit.Text;
dt1.Rows.Add(dr);
Session["dtInSession"] = dt1; //Saving Datatable To Session
GridView1.DataSource = dt1;
GridView1.DataBind();
}
private void begin()
{
if (Session["dtInSession"] != null)
dt1 = (DataTable)Session["dtInSession"]; //Getting datatable from session
DataRow dr = dt1.NewRow();
dr["Nummer"] = 1;
dr["Omschrijving"] = string.Empty;
dr["Grootboekrekening"] = string.Empty;
dr["Btw"] = string.Empty;
dr["Debet"] = string.Empty;
dr["Credit"] = string.Empty;
dt1.Rows.Add(dr);
Session["dtInSession"] = dt1; //Saving Datatable To Session
GridView1.DataSource = dt1;
GridView1.DataBind();
}
在页脚中有几个文本框和一个按钮,如果您按下按钮,它将使用您在文本框中写入的数据创建一个新行。 但问题是:它正在创建一个新行!!但是行中没有数据。
我希望你们中的一些人能帮助我。 如果您需要更多详细信息,请询问
大安。
如果您能够成功更新数据库中的数据,并且唯一的问题是它在更新后没有显示数据,那么您只需要重新加载页面。尝试:Response.Redirect(Request.RawUrl);