Peter Kiers
asked on
Pass the content of listview column[1] to a string.
Hi,
I have a listview which the user can enter data through an input-form. When the user double clicks on the row of the listview the input form appears. But when the user double clicks on the same row the input-form appears twice. I am busy to prevent this.
Every input-form has a label with a date showing and it's a unique value stored in the column 1 of the listview when the user closes the input-form. I want to use that unique value to determine if an certain input-form is allready openend. By creating a list of strings. So when the user opens an input-form the date of the label will be added to the list of strings.
So now I have to write code to determine when the user double clicks on the row of the listview if the input-form allready exists.
At the line that I have marked with an arrow is the line that is not correct.
In that line i have to pass the content of lvNotes.Column[1] to the string
selectedId.
What do I do wrong?
Greetings, Peter Kiers
I have a listview which the user can enter data through an input-form. When the user double clicks on the row of the listview the input form appears. But when the user double clicks on the same row the input-form appears twice. I am busy to prevent this.
Every input-form has a label with a date showing and it's a unique value stored in the column 1 of the listview when the user closes the input-form. I want to use that unique value to determine if an certain input-form is allready openend. By creating a list of strings. So when the user opens an input-form the date of the label will be added to the list of strings.
private List<string> opened = new List<string><();
private void bbNewNote_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
StickyNotes sticky = new StickyNotes();
sticky.gpclCaption.Text = "New Note";
sticky.rtbContent.Clear();
sticky.lblCreation.Text = (DateTime.Now.ToString());
opened.Add(sticky.lblCreation.Text);
sticky.FormClosed += new FormClosedEventHandler(sticky_FormClosed);
sticky.Show();
}
So now I have to write code to determine when the user double clicks on the row of the listview if the input-form allready exists.
private void lvNotes_DoubleClick(object sender, EventArgs e)
{
string selectedId = this.lvNotes.SelectedItems[0].ToString(); <=======
if (opened.Contains(selectedId)) return;
OpenSticky(lvNotes.SelectedItems[0]);
}
At the line that I have marked with an arrow is the line that is not correct.
In that line i have to pass the content of lvNotes.Column[1] to the string
selectedId.
What do I do wrong?
Greetings, Peter Kiers
ASKER
Hi, I need the content of item 1 and put it in a string called selectedID
string selectedId = this.lvNotes.SelectedItems [0].ToStri ng(); <=======
How can i do that?
Peter
string selectedId = this.lvNotes.SelectedItems
How can i do that?
Peter
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ps. This is clearly documented in the help files. You seem to have a habit of asking questions that can easily be solved by yourself just by looking up what the function returns for instance. In this case there is even example code to do more or less what you wanted.
eg.
http://msdn.microsoft.com/en-us/library/system.windows.forms.listview.selecteditems%28v=vs.110%29.aspx
eg.
http://msdn.microsoft.com/en-us/library/system.windows.forms.listview.selecteditems%28v=vs.110%29.aspx
Having said that there should be an Application.OpenForms which contain all open forms in the application - so you can check the contents of that to determine if this input form is already open.
http://msdn.microsoft.com/en-us/library/system.windows.forms.application.openforms%28v=vs.110%29.aspx