TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
Jonathan Crispe
NA
46
48.4k
C# structure and listview
Dec 9 2011 8:50 PM
I supposed to create a program that will load salary data, consisting of name and salary, from a text file. The data will be stored in a List<> of structures, and displayed using a ListView. The contents of the List<> of structures will be sorted by either the name, or the salary.
My Load button is not working: Everytime i click the load button it gives me error message
"Empty path name is not legal"...
struct SPatient
{
public string sName;
public int iSalary;
public SPatient(string n, int a)
{
sName = n;
iSalary = a;
}
public override string ToString()
{
return string.Format("{0}, {1}", sName, iSalary);
}
}
List<SPatient> m_List = new List<SPatient>();
void SelectionSort()
{
int iMinimum = 0; //index where min value found
SPatient iTemp; //temporary storage for swapping
int iCurrent = 0; //current location for selected value
int iScan = 0; //index to scan the unsorted array
for (iCurrent = 0; iCurrent < m_List.Count - 1; iCurrent++)
{
iMinimum = iCurrent;
for (iScan = iCurrent + 1; iScan < m_List.Count; iScan++)
{
if (m_List[iScan].iSalary < m_List[iMinimum].iSalary)
{
iMinimum = iScan;
}
}
iTemp = m_List[iMinimum];
m_List[iMinimum] = m_List[iCurrent];
m_List[iCurrent] = iTemp;
}
}
public Form1()
{
InitializeComponent();
}
private void btn_SORT_Click(object sender, EventArgs e)
{
if (rb_NAME.Checked)
{
SelectionSort();
listView1.Items.Clear();
foreach (SPatient p in m_List)
listView1.Items.Add(p.ToString());
}
if (rb_SALARY.Checked)
{
listView1.Items.Clear();
foreach (SPatient p in m_List)
listView1.Items.Add(p.ToString());
}
}
private void btn_LOAD_Click(object sender, EventArgs e)
{
try
{
FileStream fs = new FileStream(openFileDialog1.FileName, FileMode.Open, FileAccess.Read);
BinaryFormatter bf = new BinaryFormatter();
m_List = (List<SPatient>)bf.Deserialize(fs);
fs.Close();
listView1.Items.Clear();
foreach (SPatient p in m_List)
listView1.Items.Add(p.ToString());
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Reply
Answers (
7
)
Constant
Size of the object