这是我的第一篇文章。我是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
不要忘记接受这个答案... –