DataGridViewImageColumn不显示所有记录
我有一个datagridview来显示所有记录
但这不会发生!
只有那些在一个字段中有图片的记录(比如 - “照片”)
并且不显示那些没有图像的记录
为什么会这样?
我没有尝试过其他一切都失败了
试试这个:
Load += delegate
{
foreach (var column in dataGridView1.Columns)
{
if (column is DataGridViewImageColumn)
(column as DataGridViewImageColumn).DefaultCellStyle.NullValue = null;
}
};
和此:
var column1 = new DataGridViewImageColumn();
column1.DefaultCellStyle.NullValue = null;
column1.CellTemplate = new DataGridViewEmptyImageCell();
private class DataGridViewEmptyImageCell : DataGridViewImageCell
{
public override object DefaultNewRowValue { get { return null; } }
}
在InitializeComponent()
之后和private void dataGridView1_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e);
之后插入
添加有关此主题的代码:
Class Connection有这种方法:
public void FillDataGridView(DataGridView dataGridView, string query="")
{
try
{
command = new MySqlCommand(query, connection); //Создаём запрос для поиска
adapter = new MySqlDataAdapter(command); //Выполняем команду
//Для отображения в таблице
DataTable table = new DataTable(); //Создаём таблицу
adapter.Fill(table); //Вставляем данные при выполнении команды в таблицу
dataGridView.DataSource = table; //подключаем заполненную таблицу и отображаем
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
具有DataGridView的表单中的代码:
private void TestFormTwo_Load(object sender, EventArgs e)
{
FillDataGridView("");
}
public void FillDataGridView(string valueToSearch)
{
//получаем запрос на отображение данных с поиском
string nameTable = "info";
string[] nameFieldsAll = {"id_info", "full_name", "passport_id", "age", "address", "phone", "photo"};
string[] nameFieldsAS = {"ИД","ФИО","Серия и номер паспорта","Возраст","Адрес","Телефон","Фото"};
string[] numericFields = {"id_info","age"};
string query = connection.GetQueryShowSearch(nameTable, nameFieldsAll, nameFieldsAS, numericFields, valueToSearch);
//заполняем данные таблицы на основе запроса
connection.FillDataGridView(dataGridView1, query);
settings.GetSettingDisplayTable(dataGridView1, 100);
settings.GetViewImageInCellTable(dataGridView1, 6);
}
答案 0 :(得分:0)
我检查过datagridview显示带有imageColumn的行,即使image为null并且单元格样式设置为null。 如果您已经调试了代码,并且确定这些行实际上在dataGrid的数据源中,则代码中必定存在一些错误,或者datagridview属性中的某些内容设置不正确。 请发布更多代码(runnable preferred),以便我们查看。