C# Datagrid视图按钮重复
我已经在datagrid视图中添加了按钮,但是当函数被多次调用时,new button添加后,我需要停止此添加C# Datagrid视图按钮重复,c#,datagridview,button,C#,Datagridview,Button,我已经在datagrid视图中添加了按钮,但是当函数被多次调用时,new button添加后,我需要停止此添加 void AddtoGrid() { try { table = new DataTable(); bcol = new DataGridViewButtonColumn(); bcol.HeaderText = "Action ";
void AddtoGrid()
{
try
{
table = new DataTable();
bcol = new DataGridViewButtonColumn();
bcol.HeaderText = "Action ";
bcol.Text = "Delete";
bcol.Name = "deleteUserButton";
bcol.UseColumnTextForButtonValue = true;
table.Columns.Add("Name");
table.Columns.Add("Type");
table.Columns.Add("Status");
table.Columns.Add("Date Created");
table.Columns.Add("Action");
for (int i = 0; i < userAction.UserName.ToArray().Length; i++)
{
row = table.NewRow();
asc.Add(userAction.UserName[i]);
row["Name"] = userAction.UserName[i];
row["Type"] = userAction.UserType[i];
row["Status"] = userAction.UserStatus[i];
row["Date Created"] = userAction.DateCrea[i];
row["Action"] = bcol.Text;
table.Rows.Add(row);
}
UsersView.DataSource = table;
UsersView.AllowUserToAddRows = false;//To remove extra row at the end
UsersView.Columns.Add(bcol);
}
catch (Exception ca)
{
MessageBox.Show(ca.ToString());
}
}//End Function for Getting Present Users
void AddtoGrid()
{
尝试
{
table=新数据表();
bcol=新的DataGridViewButtonColumn();
bcol.HeaderText=“操作”;
bcol.Text=“删除”;
bcol.Name=“deleteUserButton”;
bcol.UseColumnTextForButtonValue=true;
表.列.添加(“名称”);
表.列.添加(“类型”);
表.列.添加(“状态”);
表.列.添加(“创建日期”);
表.列.添加(“操作”);
for(int i=0;i
我不太确定我是否理解您的问题,尽管我相信您需要将新列的创建封装到它自己的方法中,并且只调用一次—例如在构造函数中
例如:
void CreateDeleteColumn()
{
bcol = new DataGridViewButtonColumn();
bcol.HeaderText = "Action ";
bcol.Text = "Delete";
bcol.Name = "deleteUserButton";
bcol.UseColumnTextForButtonValue = true;
UsersView.Columns.Add(bcol);
}
这将阻止它在每次填充列表视图时添加列
希望这有帮助,如果我误解了,请原谅
托尼