chkbox(GV)btnpresd new tbl [英] chkbox(GV) btnpresd new tbl
本文介绍了chkbox(GV)btnpresd new tbl的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个带有复选框的网格视图,每行3列(在数据库的表1中有字段)。现在当我选择一个按钮时,对应于复选框(选中)的数据行必须转到另一个预定义的table2数据库。请尽快帮助我。我需要C#.net中的详细信息。我从类继承。
I have a grid view with checkbox for every row of 3 column(having fields in table 1 of database).Now when i select a button ,the data row corresponding to the checkbox(selected) must go to another predefined table2 of database.Please help me soon .I need details in C#.net.I am inheriting from class.
推荐答案
这是一种方法,它基于对...的理解您的要求:
假设您在ASPX / ASCX中的HTML标记看起来与此类似:
Here is one approach, it is based on the understanding of your requirement:
Assuming that your HTML markup in ASPX / ASCX would look similar to this:
<asp:GridView ID="gvDemo" runat="server" AutoGenerateColumns="false"
DataKeyNames="AppNo,SlNo">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="chkShortList" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
SL No.
</HeaderTemplate>
<ItemTemplate>
<%# Eval("SlNo") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Application No.
</HeaderTemplate>
<ItemTemplate>
<%# Eval("AppNo") %>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:Button ID="btnShortList" runat="server" Text="ShortList"
onclick="btnShortList_Click" />
和填充数据并读取所选行的C#代码从网格视图将是这样的:
and the C# code behind to populate the data and read the selected rows from the grid view would be like this:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Bind();
}
}
protected void btnShortList_Click(object sender, EventArgs e)
{
DataTable dtSelected = new DataTable();
dtSelected = GetSelectedApplications(); //Here you will get the selected rows Application Number
//Call Stored Procedure to send the DataTable for Update Operation
// ..
// and so on
}
/// <summary>
/// Binds the data to the grid view
/// This is purely for demonstration purpose
/// You can add actual logic to Read and Poulate the data
/// </summary>
private void Bind()
{
DataTable dtAppData = GetApplicationData();
gvDemo.DataSource = dtAppData;
gvDemo.DataBind();
}
/// <summary>
/// Returns the Application Data from Database
/// </summary>
/// <returns></returns>
private static DataTable GetApplicationData()
{
DataTable dtAppData = new DataTable();
dtAppData.Columns.Add("AppNo");
dtAppData.Columns.Add("SlNo");
//To simulate actual data from database
Random r = new Random(1000);
for (int i = 0; i < 10; i++)
{
int temp = r.Next(1000, 9999);
DataRow row = dtAppData.NewRow();
row["AppNo"] = temp;
row["SlNo"] = temp + 1;
dtAppData.Rows.Add(row);
}
return dtAppData;
}
/// <summary>
/// Returns all the selected rows (Rows with Checked Checkboxes) Application Number
/// as DataTable
/// </summary>
/// <returns></returns>
private DataTable GetSelectedApplications()
{
DataTable dtSelected = new DataTable();
dtSelected.Columns.Add("AppNo");
for (int i = 0; i < gvDemo.Rows.Count; i++)
{
DataRow rowSelected = dtSelected.NewRow();
CheckBox chkShortList = gvDemo.Rows[i].FindControl("chkShortList") as CheckBox;
if (chkShortList != null && chkShortList.Checked)
{
int appNo = 0;
if (gvDemo.DataKeys[i].Values["AppNo"] != DBNull.Value)
appNo = int.Parse(gvDemo.DataKeys[i].Values["AppNo"].ToString());
rowSelected["AppNo"] = appNo;
}
//Add Row In the datatable
dtSelected.Rows.Add(rowSelected);
}
return dtSelected;
}
希望这有帮助,
谢谢
Hope this helps,
Thanks
这篇关于chkbox(GV)btnpresd new tbl的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文