在編輯資料網格時拋出空例外,對于使用資料表的資料網格系結,在xaml.cs 中填充資料表代碼如下。資料表系結正在編輯演示框架中的單元格 Null 例外,使用的框架是 .NET 4.6
//DataTable created in xaml.cs,
private DataTable _dataTable3cross3 = new DataTable("table3cross3");
public DataTable DataTable3cross3
{
get { return _dataTable3cross3; }
set
{
_dataTable3cross3 = value;
OnPropertyChanged("DataTable3cross3");
}
}
//Xaml
<DataGrid x:Name="grid1" Margin="10" Grid.Column="0" Grid.Row="2"
ItemsSource="{Binding}" BorderThickness="2" ScrollViewer.HorizontalScrollBarVisibility="Disabled"
ScrollViewer.VerticalScrollBarVisibility="Disabled"
HeadersVisibility="Column" GridLinesVisibility="All"
CanUserAddRows="False" CanUserDeleteRows="False"
CanUserSortColumns = "False" CanUserReorderColumns="False"
CanUserResizeColumns="False" CanUserResizeRows="False"
RowHeight="36" AutoGenerateColumns="True" AutoGeneratingColumn="r2_AutoGeneratingColumn" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" />
//xaml.cs
private void CreateTable()
{
try
{
//Clearing the columns to update the with new values
_dataTable3cross3.Clear();
_dataTable3cross3.Columns.Clear();
// Adding columns
for (int i = 0; i <= 3; i )
{
if (i == 0)
{
this._dataTable3cross3.Columns.Add("Ranges Values");
}
else
{
this._dataTable3cross3.Columns.Add("T" i.ToString() " " "[c]");
}
}
//Rows added from list
if (TempRangeGasValues3x3.Count > 0)
{
this._dataTable3cross3.Rows.Add(12, 13, 14, 15);
}
if (PressRangeGasValues3x3.Count > 0 && CompZValues3x3.Count > 0)
{
this._dataTable3cross3.Rows.Add(1, 2, 3, 4);
this._dataTable3cross3.Rows.Add(5, 6, 7, 8);
this._dataTable3cross3.Rows.Add(9, 6, 3, 4);
}
grid1.DataContext = DataTable3cross3;
}
catch (Exception ex)
{
}
}
//[以下是資料網格編輯的例外][1]
//[1]: https://i.stack.imgur.com/uJt2w.png
uj5u.com熱心網友回復:
洗掉列中的額外空格或字串將解決問題
this._dataTable3cross3.Columns.Add("T" i.ToString());
或將“[]”大括號更改為“(c)”也將解決問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/362413.html
上一篇:從方法中捕獲例外
