DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

DOBON.NET

DataGridで選択されたセル内の選択された文字列を取得する

現在選択されているセルのTextBoxオブジェクトを取得し、これから選択された文字列を得ることを考えます。次の例ではDataGrid1(DataGridオブジェクト)にDataTable1(DataTableオブジェクト、TableName="DataTable1")が連結されており、テーブルスタイルの設定はすでにされているものとします。(テーブルスタイルの説明は省かれています。分からないという方はこちらをご覧ください。)

なお、テキストボックスで選択されている文字列を取得する方法に関してはこちらを参考にしてください。

[VB.NET]
'テーブルスタイルの取得
Dim ts As DataGridTableStyle
ts = DataGrid1.TableStyles("DataTable1")

'選択されている列の取得
Dim cn As Integer = DataGrid1.CurrentCell.ColumnNumber

'DataGridTextBoxColumnの取得
Dim cs As DataGridTextBoxColumn = _
    CType(ts.GridColumnStyles(cn), DataGridTextBoxColumn)

'TextBoxの取得
Dim tb As TextBox = cs.TextBox

'選択されている文字列の取得
Console.WriteLine(tb.SelectedText)
[C#]
//テーブルスタイルの取得
DataGridTableStyle ts;
ts = DataGrid1.TableStyles["DataTable1"];

//選択されている列の取得
int cn = DataGrid1.CurrentCell.ColumnNumber;

//DataGridTextBoxColumnの取得
DataGridTextBoxColumn cs =
    (DataGridTextBoxColumn) ts.GridColumnStyles[cn];

//TextBoxの取得
TextBox tb = cs.TextBox;

//選択されている文字列の取得
Console.WriteLine(tb.SelectedText);