DOBON.NET DOBON.NETプログラミング掲示板過去ログ

DtaGridへON/OFFのみのチェックボックスを表示させる

環境/言語:[XP VB.net]
分類:[.NET]

今DataGridを使用したプログラムを作っているのですが、
DataGridを利用して取得した値の一覧表を作り、その項目からユーザに
使用するデータの選択をさせるといったプログラムを組んでいます。
選択させる際に、DataGridにチェックボックスを表示して利用したいのですが、
このサイトにある方法だとThreeStateが有効になっているチェックボックスが
生成されてしまいます。
単にON/OFFのみのチェックボックスを生成することは可能なのでしょうか?
■No15106に返信(Asさんの記事)
> 単にON/OFFのみのチェックボックスを生成することは可能なのでしょうか?

普通に DataGridBoolColumn.AllowNull = False だと思いますが?

__________________________________________________________________________________
じゃんぬ - Microsoft MVP for Visual Developer C#
  C#, VB.NET 入門  http://jeanne.wankuma.com/
  じゃんぬねっと日誌 http://blogs.wankuma.com/jeanne/
> 普通に DataGridBoolColumn.AllowNull = False だと思いますが?

返信ありがとうございます。
DataGridBoolColumn.AllowNull = Falseの設定にすると
ONかOFF以外は確定できないようになりますが、
ON/OFF以外の選択肢(NULL)は、残ってしまいますよね^^;
そのNULL選択肢自体を無くしたいのですが・・・(汗
DataGrid側ではなく連動するデータ実体(DataTable)の方の列設定で、
その列のDefaultValueをセットしておけばよいかと。
> DataGrid側ではなく連動するデータ実体(DataTable)の方の列設定で、
> その列のDefaultValueをセットしておけばよいかと。

返信ありがとうございます。
DefaultValueのプロパティを探ったこともあるのですが、
やはりチェックボックスがON -> NULL -> OFF -> ON -> NULL ...
の処理をしてしまうんですが;;
DataGridBoolColumnはDataGridTextBoxColumnと違って
内部のコントロールを触れないので、
ThreeStateプロパティを変更できないので無理っぽいですね…。
> DataGridBoolColumnはDataGridTextBoxColumnと違って
> 内部のコントロールを触れないので、
> ThreeStateプロパティを変更できないので無理っぽいですね…。

私が以前調べた限りでは、DataGridTextBoxColumnがTextBoxをのせているのとは違って、DataGridBoolColumnはCheckBoxをのせているわけではないようでした。ただ描画しているだけのようです。

正直、私はAsさんが何をしたいのかいまいち分かっていませんので、残念ながらアドバイスはできませんが...。

#Asさんのおっしゃる「このサイトにある方法」というのは、これ(DataGridBoolColumn.AllowNullをFalseにする方法)ですね?

DOBON.NET .NET Tips - DataGridにチェックボックスを表示する
http://dobon.net/vb/dotnet/datagrid/boolcolumn.html

DOBON.NET | プログラミング道 | プログラミング掲示板