質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

WPF

Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

Q&A

解決済

1回答

18356閲覧

WPF:DateGrid セルの取得について

ARU_Wing

総合スコア13

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

WPF

Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

0グッド

0クリップ

投稿2017/09/20 04:56

編集2017/09/20 05:53

DataGrigdを使用している中で、セルのColoum,row,値の情報がほしいのですが、
どしても、値が取得できません。
以下コードで試しましたが、どうしてもNullになってしまいます。。。

TextBlock dgtext = dataGrid.Columns[columnIndex].GetCellContent(row) as TextBlock;

string dgtext = ((TextBox)dataGrid.Columns[columnIndex].GetCellContent(dataGrid.SelectedItem)).Text;

イメージとしては、カラム、行を指定して、そのText内容を得るのかなと思ったのですが、どなたか、値の取得方法を教えてください....
下記にXAMLを記載します※追記
<DataGrid x:Name="dataGrid" AutoGenerateColumns="False" Margin="85,195,76,222" Grid.Column="1" RowHeaderWidth="0" PreviewKeyDown="kpDetaGrid_check" >
<DataGrid.ColumnHeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="HorizontalContentAlignment" Value="Center"/>
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.Columns>
<DataGridTextColumn Header="Number" Binding="{Binding BinNumber }" Width="80.008"/>

<DataGridTextColumn Header="Name" Binding="{Binding BinName}" Width="79.34" IsReadOnly="True" /> </DataGrid.Columns> <DataGrid.CellStyle> <Style TargetType="DataGridCell"> <Setter Property="Height" Value="25" /> </Style> </DataGrid.CellStyle> </DataGrid>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ebiryo

2017/09/20 05:33

XAMLの内容も提示したほうがいいです
ARU_Wing

2017/09/20 05:54

ありがとうございます、一部変えておりますが、追記させていただきました。
guest

回答1

0

ベストアンサー

テストしてませんが、以下でどうでしょう?

C#

1public static string GetCellText(DataGrid grid, int col, int row ) 2{ 3 //行番号に対応したデータ 4 var lst = grid.ItemsSource.Cast<object>().ToList(); 5 var rowObj = lst[row]; 6 7 return (grid.Columns[col].GetCellContent(rowObj) as TextBlock)?.Text; 8} 9 10 11System.Diagnostics.Debug.WriteLine(GetCellText(dataGrid, 0, 0)); 12System.Diagnostics.Debug.WriteLine(GetCellText(dataGrid, 0, 1)); 13System.Diagnostics.Debug.WriteLine(GetCellText(dataGrid, 0, 2)); 14System.Diagnostics.Debug.WriteLine(GetCellText(dataGrid, 1, 0)); 15System.Diagnostics.Debug.WriteLine(GetCellText(dataGrid, 1, 1));

投稿2017/09/20 07:17

ebiryo

総合スコア797

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ARU_Wing

2017/09/20 10:09

ありがとうございます!!解決しました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問