I want to show Components in a tabs , so first of all create few components. In this project we have three components, First View Component public class AllViewComponent : ViewComponent { private readonly UserManager<ApplicationUser> _userManager; public AllViewComponent(UserManager<ApplicationUser> userManager) { _userManager = userManager; } public async Task<IViewComponentResult> InvokeAsync() { List<StudentViewModel> allUsers = new List<StudentViewModel>(); var items = await _userManager.Users.ToListAsync(); foreach (var item in items) { allUsers.Add(new StudentViewModel {Id=item.Id, EnrollmentNo = item.EnrollmentNo, FatherName = item.FatherName, Name = item.Name, Age = item.Age, Birthdate = item.Birthdate, Address = item.Address, Gender = item.Gender, Email = item.Email }); }
Binding datagridview only is not sufficient for a programmer, he/she need to be known about how to remove unnecessary records from the list. For that we have to first bind our list of item to datagridview and then add a command button with text “Remove” as discussed in earlier post.
To remove an entry, either we have to find out the record’s unique detail or the index of the record in temporary list of items. Because we are binding the datagridview with the temporary list, that’s why we can remove this record using only the index of the record.
Bind a datagridview with the list of items and then add a command button with the text property to “Remove”. Our main motive in this article here is to access the command column, we have discussed earlier. So generate the Cell_Click event of datagridview and write the following c# code:
Form having all the rows:
Form after deleting the last row, it will show only two records.
Suppose, the user don’t want to remove, and by mistake he/she has clicked on the button then what? We have to use a confirmation message, record will be deleted only when user presses “Yes” and do nothing if user clicked on “No”. Write the following code replacing above code:
To remove an entry, either we have to find out the record’s unique detail or the index of the record in temporary list of items. Because we are binding the datagridview with the temporary list, that’s why we can remove this record using only the index of the record.
Bind a datagridview with the list of items and then add a command button with the text property to “Remove”. Our main motive in this article here is to access the command column, we have discussed earlier. So generate the Cell_Click event of datagridview and write the following c# code:
if (e.ColumnIndex == 0)
{
stuList.RemoveAt(e.RowIndex);
dataGridView1.DataSource = null;
dataGridView1.DataSource = stuList;
}
Run the form and click on remove button of any row you want to delete. And it will remove that record from the list only.{
stuList.RemoveAt(e.RowIndex);
dataGridView1.DataSource = null;
dataGridView1.DataSource = stuList;
}
Form having all the rows:
Form after deleting the last row, it will show only two records.
Suppose, the user don’t want to remove, and by mistake he/she has clicked on the button then what? We have to use a confirmation message, record will be deleted only when user presses “Yes” and do nothing if user clicked on “No”. Write the following code replacing above code:
if (e.ColumnIndex == 0)
{
DialogResult result = MessageBox.Show("Sure Delete!", "Confirmation", MessageBoxButtons.YesNo);
if (result==DialogResult.Yes)
{
stuList.RemoveAt(e.RowIndex);
dataGridView1.DataSource = null;
dataGridView1.DataSource = stuList;
}
}
Run the code, it will show a confirmation message box as below. If you click on “Yes” it will delete it, and if you click on “No” it will do nothing. You can change the code as per your requirements.{
DialogResult result = MessageBox.Show("Sure Delete!", "Confirmation", MessageBoxButtons.YesNo);
if (result==DialogResult.Yes)
{
stuList.RemoveAt(e.RowIndex);
dataGridView1.DataSource = null;
dataGridView1.DataSource = stuList;
}
}
Comments
Post a Comment