這是我的第一篇文章。我是C#WPF的新手,所以我可能會完全停止思考。我基本上試圖創建一個像電子表格一樣的數據網格,以便當用戶輸入總和時,例如。 10 * 10,在CellEditEnding中,它將在excel中顯示單元格中的答案。如何從datagrid單元格獲取字符串值?
我有一個6x6網格綁定到一個空的ObservableCollection,當用戶輸入10 * 10時,我試圖把它們輸入的字符串分開,然後使用這些部分來創建一個計算,但是在一分鐘我不能從單元格中獲取字符串。計算工程,當我直接在代碼中設置字符串。
任何幫助真的不勝感激。也許有一個更簡單的方法來做到這一點。
public partial class MainWindow : Window
{
ObservableCollection<DataCell> spreadsheet = new ObservableCollection<DataCell>();
public MainWindow()
{
//Communal Spreadsheet
InitializeComponent();
spreadsheet.Add(new DataCell("", "", "", "", "", ""));
spreadsheet.Add(new DataCell("", "", "", "", "", ""));
spreadsheet.Add(new DataCell("", "", "", "", "", ""));
spreadsheet.Add(new DataCell("", "", "", "", "", ""));
spreadsheet.Add(new DataCell("", "", "", "", "", ""));
spreadsheet.Add(new DataCell("", "", "", "", "", ""));
spreadsheet.Add(new DataCell("", "", "", "", "", ""));
spreadsheet.Add(new DataCell("", "", "", "", "", ""));
dataGrid2.ItemsSource = spreadsheet;
}
private void dataGrid2_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
{
// I want to get the current cell value using the below
// string myString = dataGrid1.CurrentItem.ToString();
// the calculation seems to work with this when i pass it to textbox1 and set the myString Variable in the code.
string myString = "10 * 10";
string[] parts = myString.Split(' ');
int part1 = int.Parse(parts[0]);
// string part2 = parts[1];
int part3 = int.Parse(parts[2]);
int answer = part1 * part3;
string answer2 = answer.ToString();
// dataGrid2.CurrentItem = answer2;
// seems to work when i pass to the below textbox instead of back to the cell above
textBox1.Text = answer2;
}
}
}
Aw謝謝你。工作過一種享受!試圖讓這個工作好幾天! – user980150
不要忘記接受這個答案... –