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

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

注意:ここで紹介しているDataGridは、System.Windows.Forms名前空間のDataGrid(Windowsフォーム)です。System.Web.UI.WebControls名前空間のDataGrid(Webフォーム)ではありません。

現在選択されているセルの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);

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • .NET Tipsをご利用いただく際は、注意事項をお守りください。