Populating data in multiple columns using WinForms ListView
In this article,
I would like to discuss a brief on how to bind data in multiple columns using
ListView in WinForms. It is preferable
to go for a ListView rather than a ListBox in Winforms to bind multiple
columns. Below is the little tricky code to do so:
lstView.Columns.Add("Name", 241, HorizontalAlignment.Left);
lstView.Columns.Add("Mobile Number", 245, HorizontalAlignment.Left);
foreach (DataRow dataRow in dt.Rows)
{
Str[0] = dataRow["Id"].ToString();
Str[1] = dataRow["Name"].ToString();
Str[2] = dataRow["Mobile"].ToString();
newItm = new ListViewItem(Str);
lstView.Items.Add(newItm);
}
// Adding
ListView Columns
lstView.Columns.Add("Id", 245, HorizontalAlignment.Left);lstView.Columns.Add("Name", 241, HorizontalAlignment.Left);
lstView.Columns.Add("Mobile Number", 245, HorizontalAlignment.Left);
// Getting the
data to a datasource
DataTable dt = businessComponent.GetData(Id);
string[] Str = new string[3];
ListViewItem newItm;foreach (DataRow dataRow in dt.Rows)
{
Str[0] = dataRow["Id"].ToString();
Str[1] = dataRow["Name"].ToString();
Str[2] = dataRow["Mobile"].ToString();
newItm = new ListViewItem(Str);
lstView.Items.Add(newItm);
}
To show the
data in Details form (tabular form) we need to set ‘View’ property of the
ListView to Details. By default it is set to LargeIcon out of the 5 values - LargeIcon, Details,
SmallIcon, List, Tile.
We can do many more customizations for ListView,
like setting the width of the columns, colors, fonts, etc with ListView as it is designed to display the
data.
Populate data in columns with listview control in C#
ReplyDelete