【问题标题】:how can i transfer and remove single selected row from one grid view to another如何将单个选定行从一个网格视图转移和删除到另一个
【发布时间】:2016-04-14 04:49:12
【问题描述】:

当我选中复选框时我有两个网格视图它传输多行但它没有传输单个选中的行我尝试的代码是:我想传输和删除单个选定的行和多个选定的行。

gvDetails被选中的行调用gridview。

private void GetRemoveRows()
        {

            if (Session["GetRecords"] != null)
            DataTable  dtre = (DataTable)Session["GetRecords"];

            Session["GetRecords"] = dtre ;

            gvDetails.DataSource = dtre; 
            gvDetails.DataBind();

        } 

谁能帮帮我。

【问题讨论】:

  • 这是 onclick 事件吗?在 onclick 事件中获取选定的行 GridViewItem,然后将其添加到另一个 gridview。
  • 我没有 onclick 事件我在 perticuler 行上有复选框,当我选中复选框时,他们需要根据用户选择的单行或多行从一个网格视图转移到另一个网格视图,使用复选框

标签: c# asp.net .net gridview


【解决方案1】:

看看这些代码。

HTML:

<asp:GridView ID="GridView1" runat="server" HeaderStyle-BackColor="#3AC0F2" HeaderStyle-ForeColor="White"
AutoGenerateColumns="false" OnSelectedIndexChanged = "OnSelectedIndexChanged">
<Columns>
    <asp:BoundField DataField="Name" HeaderText="Name" ItemStyle-Width="150" />
    <asp:TemplateField HeaderText="Country" ItemStyle-Width="150">
        <ItemTemplate>
            <asp:Label ID="lblCountry" runat="server" Text='<%# Eval("Country") %>'></asp:Label>
        </ItemTemplate>
    </asp:TemplateField>
    <asp:ButtonField Text="Select" CommandName="Select" ItemStyle-Width="150" />
</Columns>
</asp:GridView>
<br />
<u>Selected Row Values: </u>
<br />
<br />
<asp:Label ID="lblValues" runat="server" Text=""></asp:Label>

C#代码:

页面加载:

protected void Page_Load(object sender, EventArgs e)
{
  if (!this.IsPostBack)
 {
    DataTable dt = new DataTable();
    dt.Columns.AddRange(new DataColumn[3] { new DataColumn("Id"), new DataColumn("Name"), new DataColumn("Country") });
    dt.Rows.Add(1, "John Hammond", "United States");
    dt.Rows.Add(2, "Mudassar Khan", "India");
    dt.Rows.Add(3, "Suzanne Mathews", "France");
    dt.Rows.Add(4, "Robert Schidner", "Russia");
    GridView1.DataSource = dt;
    GridView1.DataBind();
 }
}

和选定的行索引..

protected void OnSelectedIndexChanged(object sender, EventArgs e)
{
 //Accessing BoundField Column
 string name = GridView1.SelectedRow.Cells[0].Text;

 //Accessing TemplateField Column controls
 string country = (GridView1.SelectedRow.FindControl("lblCountry") as Label).Text;

 lblValues.Text = "<b>Name:</b> " + name + " <b>Country:</b> " + country;
}

如果您有任何疑问,请发表评论。

【讨论】:

  • 我正在将第二个 gridview 转移到第一个 gridview 但在第二个 gridview 中。在这个第一个 gridview 从数据库绑定和第二个 gridview 没有项目但我将第一个 gridview 转移到第二个 gridview 我存储了第二个 gridview 数据在会话 ["GetRecords"] 中。我需要的是我想传输选定的行删除第二个网格视图中的选定行并将其添加到第一个网格视图。我传输多个选定的行但是我如何传输单个选定的行也可以请你帮助我
  • 对不起,我听不懂你的意思。放手一切,尝试专注于选择行并获取该行的数据。因为当复选框更改时您需要 selectedindexchabged 事件,现在在后端您有该行,对它进行任何您需要的操作,如此简单,参考上面的代码,它将对您有所帮助..
猜你喜欢
  • 2015-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-29
  • 1970-01-01
  • 1970-01-01
  • 2014-01-27
相关资源
最近更新 更多