我想使用不带数据绑定的数据表来编辑和删除gridview中我在文本框中输入的数据 [英] i want to Edit and delete a data in gridview what i have entered in textboxes by using data table not with databinding
本文介绍了我想使用不带数据绑定的数据表来编辑和删除gridview中我在文本框中输入的数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
你好
我想使用datatable编辑和删除gridview中我在文本框中输入的数据
我的源代码已添加以下控件
Hello
i want to edit and delete data in gridview what i have entered in textboxes by using datatable
i source code i have add the following controls
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Show" />
<asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="Reset" />
<br />
<br />
<br />
<br />
<br />
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
<br />
<br />
<br />
<br />
<br />
<br />
</div>
</form>
在按钮单击事件中,我编写了以下代码
in button click event i have write the following code
DataTable dt = null;
if (Session["dt"] != null)
{
dt = (DataTable)Session["dt"];
}
else
{
dt = new DataTable();
dt.Columns.Add("Name");
dt.Columns.Add("Age");
dt.Columns.Add("Address");
}
DataRow dr;
dr = dt.NewRow();
dr["Name"] = TextBox1.Text;
dr["Age"] = TextBox2.Text;
dr["Address"] = TextBox3.Text;
dt.Rows.Add(dr);
dt.AcceptChanges();
Session["dt"] = dt;
GridView1.DataSource = dt.DefaultView;
GridView1.DataBind();
它的工作数据显示在gridview中,我在文本框中输入的内容
但我想更新,删除那些我在gridview中拥有的数据
请帮助我
its working the data is displayed in gridview what i have entered in textboxes
but i want to update,delete those data what i have in gridview
plz help me
推荐答案
尝试一下,
Try This,
protected void Button1_Click(object sender, EventArgs e)
{
try
{
DataTable dt = null;
if (Session["dtItems"] != null)
{
dt = (DataTable)Session["dtItems"];
}
else
{
dt = new DataTable();
dt.Columns.Add("Name");
dt.Columns.Add("Age");
dt.Columns.Add("Address");
}
if (Button1.Text == "Update")
{
Int32 index = Convert.ToInt32(hdIndexGvitems.Value);
dt.Rows[index]["Name"] = TextBox1.Text;
dt.Rows[index]["Age"] = TextBox2.Text;
dt.Rows[index]["Address"] = TextBox3.Text;
dt.AcceptChanges();
Button1.Text = "Add";
}
else
{
DataRow dataRow;
dataRow = dt.NewRow();
dataRow["Name"] = TextBox1.Text;
dataRow["Age"] = TextBox2.Text;
dataRow["Address"] = TextBox3.Text;
dt.Rows.Add(dataRow);
dt.AcceptChanges();
Session["dtItems"] = dt;
}
GridView1.DataSource = dt.DefaultView;
GridView1.DataBind();
}
catch (Exception ex)
{
cmn.MsgBox1(ex.Message, this);
}
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
if (GridView1.SelectedIndex != -1)
{
hdIndexGridView1.Value = GridView1.SelectedIndex.ToString();
TextBox1.Text = GridView1.SelectedRow.Cells[1].Text;
TextBox2.Text = GridView1.SelectedRow.Cells[2].Text;
TextBox3.Text = GridView1.SelectedRow.Cells[3].Text;
Button1.Text = "Update";
}
}
catch (Exception ex)
{
}
}
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
try
{
dt = (DataTable)Session["dtItems"];
dt.Rows.RemoveAt(e.RowIndex);
GridView1.DataSource = dt.DefaultView;
GridView1.DataBind();
Session["dtItems"] = dt;
Button1.Text = "Add";
}
catch (Exception ex)
{
}
}
Gridview,
Gridview,
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
CellPadding="4" GridLines="None" OnRowDeleting="GridView1_RowDeleting"
OnSelectedIndexChanged="GridView1_SelectedIndexChanged" Width="689px">
<RowStyle CssClass="GVRowStyle" />
<Columns>
<asp:TemplateField HeaderText="S.No.">
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text="<%# (Container.DataItemIndex)+1 %>"></asp:Label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Left" />
<ItemStyle HorizontalAlign="Left" />
</asp:TemplateField>
<asp:BoundField DataField="Name" HeaderText="Name">
<HeaderStyle HorizontalAlign="Left" />
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="Age" HeaderText="Age">
<HeaderStyle HorizontalAlign="Left" />
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="Address" HeaderText="Address">
<HeaderStyle HorizontalAlign="Right" />
<ItemStyle HorizontalAlign="Right" />
</asp:BoundField>
<asp:TemplateField HeaderText="Edit">
<ItemTemplate>
<asp:ImageButton ID="btnEdit0" runat="server" CommandName="Select"
Height="17px" ImageUrl="~/images/button-edit.gif" Width="16px" />
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Delete">
<ItemTemplate>
<asp:ImageButton ID="btnDelete0" runat="server" CommandName="Delete"
Height="11px" ImageUrl="~/images/delete.gif"
Width="12px" />
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="#C0CAE4" Font-Bold="True" ForeColor="Black" />
<PagerStyle CssClass="gridPager" />
<SelectedRowStyle BackColor="#DCCDDA" Font-Bold="true" ForeColor="#510030" />
<HeaderStyle CssClass="Gheader" />
<AlternatingRowStyle CssClass="AlternatingRowStyle" />
<EditRowStyle BackColor="#7C6F57" />
</asp:GridView>
并使用隐藏字段,
And use a hidden field,
<input id="hdIndexGridView1" type="hidden" runat="server" />
这篇关于我想使用不带数据绑定的数据表来编辑和删除gridview中我在文本框中输入的数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文