■4162 / inTopicNo.1) |
DataGridにてNulltextの設定値取得について |
□投稿者/ うっちー (8回)-(2007/06/08(Fri) 13:47:43)
|
分類:[VB.NET (Windows)]
VS Version:Visual Studio 2003 OS Windows XP
http://dobon.net/vb/dotnet/datagrid/nulltext.html 現在、上記のサイトを参考に、DataGridにてNulltextを使用する方法を試しているのですが、 Nulltextで設定し表示されたままの値を取得しようするとエラーが発生してしまいます。 >Debug.WriteLine(CType(dTable.Rows(iRow)(0), String)) エラー内容 'System.InvalidCastException' のハンドルされていない例外が microsoft.visualbasic.dll で発生しました。 追加情報 : 型 'DBNull' から型 'String' へのキャストが有効ではありません。
DBNullについて追求してみたのですが、いまいち理解が出来ず、 下記の様に指定してみましたが、表示されている値が取得出来ませんでした。 >Debug.WriteLine(System.Convert.ToString(dTable.Rows(iRow)(0)))
申し訳ありませんが、どなたかご指導を宜しくお願いします。
以下ソースです。 Option Strict On Option Explicit On
Imports System Imports System.Data Imports System.Windows.Forms Imports System.Drawing
Public Class Form1 Inherits System.Windows.Forms.Form
Private dTable As DataTable
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim dt As New DataTable("DataTable1") dt.Columns.Add("No", GetType(String)) dt.Columns.Add("name", GetType(String))
DataGrid1.DataSource = dt
Dim ts As New DataGridTableStyle ts.MappingName = "DataTable1"
Dim cs As DataGridTextBoxColumn = New DataGridTextBoxColumn cs.MappingName = "No" cs.HeaderText = "No" cs.Width = 25 cs.NullText = "1"
Dim cs1 As DataGridTextBoxColumn = New DataGridTextBoxColumn cs1.MappingName = "name" cs1.HeaderText = "名前" cs1.NullText = ""
ts.GridColumnStyles.AddRange(New DataGridColumnStyle() {cs, cs1})
DataGrid1.TableStyles.Add(ts) End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim iRow As Integer dTable = CType(DataGrid1.DataSource, DataTable) For iRow = 0 To dTable.Rows.Count - 1 Debug.WriteLine(System.Convert.ToString(dTable.Rows(iRow)(0))) 'Debug.WriteLine(CType(dTable.Rows(iRow)(0), String)) 'Debug.WriteLine(System.Convert.ToString(dTable.Rows(iRow)(0)) & " , " & CType(dTable.Rows(iRow)(1), String)) Next End Sub End Class
|
|