Click here to Skip to main content
15,891,184 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Can any one of you please quickly guide me asp.net c# a very basic problem
i have two drop down list box list1 and list2. List 1 has all user names with their ids, i have managed to transfer one user with his id in list 2, but if i want to do undo kind of activity i am unable to do it in same manner


ddUser.DataValueField.(??????) = ddSelectedUser.DataValueField;

can you please tell me what option should i select ?? so that i can run my program as per my requirement.

What I have tried:

This code is running fine
C#
protected void btnTransferUser_Click(object sender, System.EventArgs e)
    {
        if (ddUser.Items.Count < 1)
        {
            btnTransferUsr.Enabled = false;
        }
        else
        {
            string strUserName;
            int intUserID;

            strUserName = ddUser.SelectedItem.Text;
            if (!string.IsNullOrEmpty(strUserName))
            {
                lblErrorUsrCreation.Text = "";
                intUserID = int.Parse(ddUser.SelectedItem.Value);
                ddSelectedUser.DataValueField = ddUser.SelectedValue.ToString();
                ddSelectedUser.Items.Add(new ListItem(strUserName));
                ddUser.Items.Remove(ddUser.Items.FindByText(strUserName));
                btnTransferUsr.Enabled = false;
                btnUndoTransferUsr.Enabled = true;
            }
            else
            {
                lblErrorUsrCreation.Text = "User(s) Not Selected To Transfer";
                ddUser.TabIndex = 0;
                return;
            }
        }
    }

but at the same time if i want to do it with undo ... i am unable to do it

C#
protected void btnUndoTransferUsr_Click(object sender, System.EventArgs e)
    {
        if (ddSelectedUser.Items.Count < 1)
        {
            btnUndoTransferUsr.Enabled = false;
        }
        else
        {
            string strUserName;
            strUserName = ddSelectedUser.SelectedItem.Text;
            if (!string.IsNullOrEmpty(strUserName))
            {
                //ddUser.DataValueField = ddSelectedUser.DataValueField;
                ddUser.DataValueField = "113";
                lblErrorUsrCreation.Text = "Heloooooooo" + ddUser.DataValueField;
                return;
            }
            else
            {
                lblErrorUsrCreation.Text = "User(s) Not Selected From Selected User List, To Undo Transfer";
                ddSelectedUser.TabIndex = 0;
                return;
            }
        }
    }
Posted
Updated 17-Jul-19 8:26am
v2
Comments
BillWoodruff 7-Jul-19 3:00am    
So, what are you doing to PRESERVE the last user action information so you can undo the last action ?

Do you want to allow more than one item to be transferred ? If more than one item is transferred, do you want to undo multiple items ?

If the list of users does not change, you can implement a multiple undo simply.

Have 2 different dictionaries for each drop-down and add/remove from those dictionary based on your do/undo/redo.
And let the dictionary be the data source of these dropdowns like this:
ddUser.DataSource = userDictionary;
ddUser.DataTextField = "Value";
ddUser.DataValueField = "Key";
ddUser.DataBind();

ddSelectedUser.DataSource = selectedUserDictionary;
ddSelectedUser.DataTextField = "Value";
ddSelectedUser.DataValueField = "Key";
ddSelectedUser.DataBind();
 
Share this answer
 
Comments
BillWoodruff 7-Jul-19 4:53am    
note the OP is using ASP.NET 'DropDownList here: your post does not address the question asked which is how to implement 'undo. using a Dictionary here would be awkward because 'Remove returns a 'bool, not a 'KeyValuePair
Dear All thanks for your support.. i have tried this and it works please check

protected void btnTransferUser_Click(object sender, System.EventArgs e)
{
    if (ddUser.Items.Count < 1)
    {
        btnTransferUsr.Enabled = false;
    }
    else
    {
        string strUserName;
        int intUserID;

        strUserName = ddUser.SelectedItem.Text;
        if (!string.IsNullOrEmpty(strUserName))
        {
            //lblErrorUsrCreation.Text = "";
            //ddSelectedUser.DataValueField = ddUser.SelectedValue.ToString();
            //ddSelectedUser.Items.Add(new ListItem(strUserName));
            //ddUser.Items.Remove(ddUser.Items.FindByText(strUserName));
            //btnTransferUsr.Enabled = false;
            //btnUndoTransferUsr.Enabled = true;

            string x = ddUser.SelectedItem.Text;
            int id = int.Parse(ddUser.SelectedItem.Value);
            int lidx = ddUser.SelectedIndex;

            ddSelectedUser.Items.Add(new ListItem(x, id.ToString()));

            ddUser.Items.RemoveAt(lidx);

            btnTransferUsr.Enabled = false;
            btnUndoTransferUsr.Enabled = true;

        }
        else
        {
            lblErrorUsrCreation.Text = "User(s) Not Selected To Transfer";
            ddUser.TabIndex = 0;
            return;
        }
    }
}
protected void btnUndoTransferUsr_Click(object sender, System.EventArgs e)
{
    if (ddSelectedUser.Items.Count < 1)
    {
        btnUndoTransferUsr.Enabled = false;
    }
    else
    {
        string strUserName;
        int intUserID;

        strUserName = ddSelectedUser.SelectedItem.Text;
        if (!string.IsNullOrEmpty(strUserName))
        {
            //lblErrorUsrCreation.Text = "";
            //intUserID = int.Parse(ddSelectedUser.SelectedValue);
            //ddUser.DataValueField = ddSelectedUser.SelectedValue.ToString();
            //ddUser.Items.Add(new ListItem(strUserName));
            //ddSelectedUser.Items.Remove(ddSelectedUser.Items.FindByText(strUserName));
            //btnUndoTransferUsr.Enabled = false;
            //btnTransferUsr.Enabled = true;

            string x = ddSelectedUser.SelectedItem.Text;
            int id = int.Parse(ddSelectedUser.SelectedItem.Value);
            int lidx = ddSelectedUser.SelectedIndex;

            ddUser.Items.Add(new ListItem(x, id.ToString()));

            ddSelectedUser.Items.RemoveAt(lidx);
            if (ddSelectedUser.Items.Count > 0)
            {
                btnUndoTransferUsr.Enabled=true;
            }
            else
            {
                btnUndoTransferUsr.Enabled = false;
                btnTransferUsr.Enabled = true;
            }
        }
        else
        {
            lblErrorUsrCreation.Text = "User(s) Not Selected To Transfer";
            ddSelectedUser.TabIndex = 0;
            return;
        }
    }
}
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900