gpt4 book ai didi

c# - 从动态数据 GridView 的最后一行中删除对象

转载 作者:太空宇宙 更新时间:2023-11-03 11:35:21 27 4
gpt4 key购买 nike

我有一个 winform 数据 GridView :

 DataTable table = new DataTable();
table.Columns.Add("Check", typeof(bool));
table.Columns.Add("User", typeof(string));
table.Columns.Add("Path", typeof(string));
table.Columns.Add("Status", typeof(Image));


using (RegistryKey root = Registry.LocalMachine.OpenSubKey("SOFTWARE\\xyz"))
{

foreach (string keyname in root.GetSubKeyNames())
{
using (RegistryKey key = root.OpenSubKey(keyname))
{
if (keyname == sentKeyName)
{
foreach (string valuename in key.GetValueNames())
{
if (key.GetValue(valuename) is String)
{
Image image = Image.FromFile(@"Image1.jpg");

table.Rows.Add(false, valuename, key.GetValue(valuename), image);
}
}
}
}
}
}
dataGridView1.DataSource = table;
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;

现在我在表格中放置了一个图像和复选框,如上所示。

当我有值时它工作正常,但对于最后一行空白且可以编辑的行,它由复选框和错误图像符号填充。

还有一种方法可以将一列设置为只读。

任何建议

谢谢

最佳答案

您获得了额外的行,因为您允许用户添加新行。如果您想禁用添加新行(并隐藏丑陋的额外行),请使用以下命令:

dataGridView1.AllowUserToAddRows = false;

要将单个列设置为只读,请执行以下操作:

dataGridView1.Columns["Status"].ReadOnly = true;

确保在设置数据源后调用它。

更新:

目前我无法测试任何东西,但是 DataGridViewImageColumn.DefaultCellStyle属性(property)似乎是你正在寻找的,特别是:

To prevent the error graphic from appearing in the row for new records when the control AllowUserToAddRows property value is true, you must also either explicitly set the cell value to null or your own error graphic in a handler for the control RowsAdded event or set the column CellTemplate property to an instance of a DataGridViewImageCell-derived type with an overridden DefaultNewRowValue property that returns null or your own error graphic.

关于c# - 从动态数据 GridView 的最后一行中删除对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6458736/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com