QA@IT

フォームにあるラジオボタンのテキスト名がデータグリッドビュー上でずれて表示されてしまう

2360 PV

VS2010PROでラベル印刷プログラムを作っています
フォームのテキストボックス2(印刷枚数)に数値を入れ、数値分をデータテーブルに追加しそれをデータグリッドビューで表示させています
またラジオボタンのtext名などもデータテーブルに追加しています。

フォームのラジオボタン1から3に敬称が表示されています
1:様、2:御中、3殿

下記コードで表示されるのですが、会社名を複数回検索すると、敬称の表示がズレてしまいます
会社名ごとに敬称が異なり、印刷枚数が異なります。

テキストボックス2に入力した数値を4とし、敬称を御中とした場合、データテーブルに数値の行(4行)が表示され、
御中が4つ表示されます。

続いて検索を行います。
テキストボックス2に入力した数値を3とし、敬称を様とした場合、行数は固定(3行)されますが、
敬称の表示が上記の様と御中が入替えになってしまいズレます

敬称の表示がズレないようにする為に、どうすれば良いでしょうか?

'敬称区分
If RadioButton1.Checked = True Then
Row("敬称") = RadioButton1.Text
ElseIf RadioButton2.Checked = True Then
Row("敬称") = RadioButton2.Text
ElseIf RadioButton3.Checked = True Then
Row("敬称") = RadioButton3.Text
End If

'抽出したレコードをデータテーブルに追加
Dim m As Integer
If Integer.TryParse(TextBox2.Text, m) Then
For i = 1 To m - 1
Dim workRow As DataRow
workRow = dt.NewRow()
workRow(0) = TextBox3.Text '郵便番号
workRow(1) = TextBox4.Text '住所1
workRow(2) = TextBox5.Text '住所2
workRow(3) = TextBox6.Text '得意先コード
workRow(4) = TextBox7.Text '得意先名
workRow(5) = TextBox8.Text '印刷枚数
workRow(6) = TextBox9.Text '敬称
dt.Rows.Add(workRow)
'dt.Rows(0).Delete()
'dt.AcceptChanges()
'For i = dt.Rows.Count - 0 To m Step -1
Next
End If
'データテーブルの内容をデータグリッドビューで確認
DataGridView1.DataSource = dt

宜しくお願い致します

回答

 同じような事をされているらしい方の質問が MSDN Forum にあります。参照されると良いと思います。
http://social.msdn.microsoft.com/Forums/ja-JP/vbgeneralja/thread/832689c9-9581-4634-bbf3-a93569365a27
http://social.msdn.microsoft.com/Forums/ja-JP/vbgeneralja/thread/721c0f5f-c2de-47a8-bb71-5f098983f34a

敬称の表示が上記の様と御中が入替えになってしまいズレます
 イメージできません。具体的に、示して下さい。
  宛先    敬称
  ---------- -----
  A     御中
  A     様
  A     御中
  A     様
  B     御中
  B     様
  B     御中
のようになる???

workRow(6) = TextBox9.Text '敬称
 表示用のテーブルには、TextBox9 から敬称を引っ張っているようです。しかし、ラジオボタンで選択したものは、Row("敬称") というところに保存しています。この、Row("敬称") は、何時、どこで、誰が、参照するのでしょう?

 もし、あなたが「初心者」であるなら、掲示板で尋ねる前に、自分がコンピュータにさせたいことと、コードに書いていることが一致しているか、よく検討することを勧めます。一般的に、次のような状態での質問が多いです。
・コンピュータにさせたいことを、自分がわかっていない
・コンピュータにさせたいことを、実現するための手順がわかっていない
・コンピュータに、何を指示しているか、理解していない
・コンピュータに指示していることと、自分がさせたいことの差を検証していない

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。