您好我在C#窗体中使用Datagridview,在数据网格中查看我使用的是数据网格链接列,示例代码在这里
DataGridViewLinkColumn Editlink = new DataGridViewLinkColumn();
Editlink.UseColumnTextForLinkValue = true;
Editlink.HeaderText = "Edit";
Editlink.DataPropertyName = "lnkColumn";
Editlink.LinkBehavior = LinkBehavior.SystemDefault;
Editlink.Text = "Edit";
gvJobs.Columns.Add(Editlink);
很好但是当我重新加载网格时,它给出的不是通过给数据源null来删除现有的编辑列。示例代码和输出在这里。
gvJobs.DataSource = null;
var jobs = (from v in General.ent.Jobs
where (v.MRNumber == (string)txtMrNumber.Text)
select new
{
MRNumber = v.MRNumber,
NumberOfDocuments = v.noofdocuments,
PageNumbers = v.PageNumbers,
JobStatus = v.job_status,
ScannerType = v.scanner_type,
DocumentType = v.Documenttype.document_name,
CreatedDate = v.received_date
}).ToList();
gvJobs.DataSource = jobs;
DataGridViewLinkColumn Editlink = new DataGridViewLinkColumn();
Editlink.UseColumnTextForLinkValue = true;
Editlink.HeaderText = "Edit";
Editlink.DataPropertyName = "lnkColumn";
Editlink.LinkBehavior = LinkBehavior.SystemDefault;
Editlink.Text = "Edit";
gvJobs.Columns.Add(Editlink);
我想在重新加载网格后输出图像1。
答案 0 :(得分:1)
您必须在重新加载网格时删除该列,或者在重新加载时避免将该列添加到网格中。
您可以使用
gvJobs.Columns.Remove()
为了删除编辑列
或
for (int j=0;j<gvJobs.Columns.Count ;j++)
{
if (gvJobs.Columns[j].HeaderText == "Edit")
{
DataGridViewLinkColumn Editlink = new DataGridViewLinkColumn();
Editlink.UseColumnTextForLinkValue = true;
Editlink.HeaderText = "Edit";
Editlink.DataPropertyName = "lnkColumn";
Editlink.LinkBehavior = LinkBehavior.SystemDefault;
Editlink.Text = "Edit";
gvJobs.Columns.Add(Editlink);
}
}
我希望这可以帮助你。
答案 1 :(得分:0)
gvJobs.Columns.Clear();
对我有用。