2016-12-20 4 views
0

私はデータベース(MySQLの)から取得したデータが取り込まれるのDataGridViewを有するのMysql VB.NET:DataGridViewのヌル例外エラーから隠れカラム(カラムがNULLでない)

Iは、列を非表示しようとしますまたは列ヘッダーのテキストを変更し、この例外がスローされました:

01:この単純なコードで

Object reference not set to an instance of an object.

又は

Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index

gridjobs.Columns(0).Visible = False 
gridjobs.Columns("JOB_NO").HeaderText = "JOB NO." 

DataGridがnullではないことを伝えることができます。以前は動作していましたが、突然このエラーが発生しました。私はネットを検索しようとしましたが、このエラーを修正するのにまだ運がありません。これを除いてすべてが機能しています。私のコードに何か問題がありますか?

+0

を試してみてください。バインドすると、 'DataColumn'の' ColumnName'は自動的に 'DataGridViewColumn'の' Name'に割り当てられません。 – jmcilhinney

+0

私はそれに名前をつけました:引数が範囲外例外 – Joan

+0

なぜそれを命名したのですか?そこには2行のコードがあります。 1つは序数を使用します。どちらの場合でも同じことをしないのはなぜですか?それはあなたがその例外を取得した場合、あなたはそれを正しくやっていないと言いました。 – jmcilhinney

答えて

0

グーグルに基づく

オブジェクト参照がオブジェクトのインスタンスに設定されていません。正確には、正しく参照されているオブジェクトのようにnullオブジェクトを使用しようとしています。 ...ほとんどの場合、オブジェクトに値を渡すときに、値がnullの場合、この種の例外が発生します。

ここはあなたのコードです。

gridjobs.Columns(0).Visible = False gridjobs.Columns("JOB_NO").HeaderText = "JOB NO."

最初の列には、あなたは、ヘッダーテキストを割り当てVisible = Falseのですか?どのように私は不可視オブジェクトの値を割り当てることができますか?

ただの野生の推測。

また、なぜvisible = falseになるヘッダーを割り当てる必要がありますか?とにかく、あなたが行っているではないだろう最初の場所でそれに名前を付けない限り、あなたは名前で列を参照することはできません。この

gridjobs.Columns(0).Visible = False gridjobs.Columns(0).HeaderText = "JOB NO."

関連する問題