本文介绍了将数据从列表视图传输到另一个列表视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个列表视图,一个带有数据,另一个是空的.我已经完成了用于选择行n listview1的编码,现在我想将数据从第一个istview转移到另一个onclick按钮上...
请帮助我

I have two list view one with data and another is empty i have done coding for selecting a row n listview1 and now i want to transfer data from first istview to another on button click one by one...
plz help me out

推荐答案


DataTable Dt = new DataTable();
    DataTable Dt2 = new DataTable();
        //save
    protected void Button2_Click(object sender, EventArgs e)
    {
        if (TextBox1.Text == string.Empty)
        {
            lblStatus.Text = "Enter value ";
            return;
        }
        if (ViewState["Dt"] == null)
        {
            DataColumn col = new DataColumn("test");
            col.DataType = System.Type.GetType("System.String");
            Dt.Columns.Add(col);
        }
        else
        {
            Dt = (DataTable)ViewState["Dt"];
        }

        DataRow dr =      Dt.NewRow();
        dr[0] = TextBox1.Text;;

        Dt.Rows.Add(dr);
        ListView1.DataSource = Dt;
     ListView1.DataBind();
     ViewState.Add("Dt", Dt);
     lblStatus.Text = "your Item saved ";
     TextBox1.Text = string.Empty;

    }

    protected void ListView1_SelectedIndexChanging(object sender, ListViewSelectEventArgs e)
    {
        ListView1.SelectedIndex = e.NewSelectedIndex;
        lblStatus.Text = "your Item selected ";

        Dt = (DataTable)ViewState["Dt"];
        ListView1.DataSource = Dt;
    }
      //move
    protected void Button1_Click(object sender, EventArgs e)
    {
            //retrive the from datatable Stored in Viewstate
        Dt = (DataTable)ViewState["Dt"];
                //check on the viewstate if not exist i will create strucre for the table
        if (ViewState["Dt2"] == null)
        {
            DataColumn col = new DataColumn("test");
            col.DataType = System.Type.GetType("System.String");
            Dt2.Columns.Add(col);
        }
        else
        {
            Dt2 = (DataTable)ViewState["Dt2"];
        }
            // this can be useful if you can select more than item thorugh checkbox etc .
          //  object[] xx = Dt.Rows[1].ItemArray;  
           //foreach (string item in xx)
            //{
            //    string yy = item[0].ToString();
            //}
        //stor the value of selected item in local variable
            string ItemValue = Dt.Rows[ListView1.SelectedIndex][0].ToString();
            //remove the item from Datatable in listview1
            Dt.Rows.RemoveAt(ListView1.SelectedIndex);
        //create new row in 2th datatable    , storeing the value
            DataRow dr2 = Dt2.NewRow();
            dr2[0] = ItemValue;
            Dt2.Rows.Add(dr2);
            ListView2.DataSource = Dt2;
            ListView2.DataBind();
            ViewState.Add("Dt2", Dt2);

            ListView1.DataSource = Dt;
            ListView1.DataBind();
            ViewState.Add("Dt", Dt);
            lblStatus.Text = "your Item Moved ";
    }





<div>
        <asp:ListView ID="ListView1" runat="server"



            onselectedindexchanging="ListView1_SelectedIndexChanging">
            <ItemTemplate>
    <tr>
    <td>
<asp:LinkButton ID="lnkSelect" Text="Select" CommandName="Select" runat="server" />
    </td>
           <td>
                  <%# Eval("test")%>
           </td>   <br />
    </tr>
</ItemTemplate>
                 <SelectedItemTemplate>
    <tr style="background-color: #FFFF66; color: #808000;">
         <td>
<asp:LinkButton ID="lnkSelect" Text="Select" CommandName="Select" runat="server"

               ForeColor="Red" />
    </td>
           <td  style="background-color: #FFFF66; color: #808000;">
                  <%# Eval("test")%>
           </td>   <br />

      </tr>
   </SelectedItemTemplate>
        </asp:ListView>
       <br />
                           <asp:Button ID="Button1" runat="server" Text="Move"

            onclick="Button1_Click" style="height: 26px"  />
        <asp:Label ID="lblStatus" runat="server"></asp:Label>
       <br />
       <asp:ListView ID="ListView2" runat="server">
       <ItemTemplate>
    <tr style="background-color: #00FF00">
    <td>
                  <%# Eval("test")%>
           </td>   <br />
    </tr>
</ItemTemplate>
        </asp:ListView>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button2" runat="server" Text="Save" onclick="Button2_Click" />
    </div>


最好的问候
米特瓦里(M.Mitwalli)


Best Regards
M.Mitwalli


这篇关于将数据从列表视图传输到另一个列表视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-17 23:06
查看更多