У меня есть приложение winform, которое работает правильно, но я хочу выбрать имена столбцов, поэтому я создал новые столбцы.Я не хочу, чтобы мой datagridview автоматически генерировал числа
Когда я открываю приложение сейчас, у меня есть пустые созданные вручную столбцы, а затем автогенерированные столбцы, содержащие данные.
, так что я сделал:
dataGridView1.AutoGenerateColumns = false;
(на нагрузке Form1)
, а затем:
List<Movimenti> source = dbo.RecuperaMovimenti(contoSelezionato);
dataGridView1.DataSource = source;
, но я получаю сообщение об ошибке:
ссылка на объект не указывает на экземпляр объекта.
я отправляю код, который должен помочь вам найти проблему:
Когда я выбираю пункт из моего списка, я хочу DataGridView, чтобы загрузить данные для выбранного пользователя:
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
DboInfo dbo = new DboInfo();
try
{
contoSelezionato = listBox1.SelectedItem.ToString();
}
catch
{}
lblConto.Text = contoSelezionato;
lblConto.Visible = true;
lblTotale.Text = totale;
lblTotale.Visible = true;
try
{
List<Movimenti> source = dbo.RecuperaMovimenti(contoSelezionato);
dataGridView1.DataSource = source;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
метод ДБО для получения данных:
public List<Movimenti> RecuperaMovimenti(string contoSelezionato)
{
List<Movimenti> risultato = new List<Movimenti>();
SQLiteConnection m_dbConnection = new SQLiteConnection();
try
{
m_dbConnection = OpenConnection();
}
catch (Exception ex)
{
throw new Exception(ex.Message, ex);
}
SQLiteDataReader rdr;
string sql = "SELECT id_movimento, data_movimento, descrizione_movimento, importo_movimento FROM movimenti WHERE nome_conto = '"+contoSelezionato+"'";
SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection);
rdr = command.ExecuteReader();
while (rdr.Read())
{
Movimenti MOV = new Movimenti();
MOV.id = (Int64)rdr["id_movimento"];
//MOV.nome_conto = (string)rdr["nome_conto"];
MOV.data = (string)rdr["data_movimento"];
MOV.descrizione = (string)rdr["descrizione_movimento"];
MOV.importo = Convert.ToInt32(rdr["importo_movimento"]);
risultato.Add(MOV);
}
rdr.Close();
m_dbConnection.Close();
return risultato;
}
редактировать:
это фотография. Мои данные не идет в мои колонки, он просто создает автогенерируемую столбцы
возможный дубликат [Что такое NullReferenceException и как это исправить это?] (http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-it) – dotctor
На какой строке вы указали упомянутое исключение? – Steve
И, кстати, если ваша проблема заключается в том, как изменить заголовок каждого столбца, вы можете их изменить, используя 'dataGridView.Columns [index] .HeaderText =" Nome della colonna ";' – Steve