我在Wpf DataGrid. I am adding values in datagrid's first column called
Model Name中遇到問題。下面我也給我的代碼來展示這個問題。DataGrid不允許編輯項目
所以我的問題是第一列將顯示來自數據庫的值,其他列可以是可寫的。所有的值將保存在某個數據庫表中。當我使用datagrid.Items.Add(data);
那麼它給出了第一列中的值,工作正常,但如果我開始在其他列寫它給人錯誤
「Edititem是不允許的」。
這是我在WPF代碼
<DataGrid HorizontalAlignment="Center"
Name="DeliveryGrid" IsReadOnly="False"
AutoGenerateColumns="False"
LoadingRow="DataGrid_LoadingRow"
Margin="0,85,0,0"
VerticalAlignment="Top"
Height="235"
Width="462">
<DataGrid.Columns>
<DataGridTextColumn Header="Model" Width="90" Binding="{Binding ModelName}" x:Name="ModelName" />
<DataGridTextColumn Header="Engine No" Width="90" x:Name="EngineNo" />
<DataGridTextColumn Header="Chasis No" Width="90" x:Name="ChasisNo" />
<DataGridTextColumn Header="Authority No" Width="90" x:Name="AuthorityNo" />
<DataGridTextColumn Header="Price" x:Name="Price" />
</DataGrid.Columns>
</DataGrid>
這裏是我的C#代碼
public class BikesOrderObjects
{
public string ModelName { get; set; }
public int ModelID { get; set; }
public string BEngineNo { get; set; }
public string BChasisNo { get; set; }
public string BAuthorityNo { get; set; }
public double Price { get; set; }
public int qty { get; set; }
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
RST_DBDataContext conn = new RST_DBDataContext();
LoadDeliveryData();
}
private void LoadDeliveryData()
{
RST_DBDataContext conn = new RST_DBDataContext();
var BikesOrderData = conn.TblBikesOrdersDetails
.Where(TblBikesOrdersDetail => TblBikesOrdersDetail.BOId == 1)
.Select(TblBikesOrdersDetail => new
{
qty = TblBikesOrdersDetail.BQty,
ModelID = TblBikesOrdersDetail.ModelId,
ModelName = TblBikesOrdersDetail.TblBikeModel.ModelName
});
foreach (var item in BikesOrderData)
{
for (int i = 0; i < item.qty; i++)
{
var data = new BikesOrderObjects { ModelName = item.ModelName };
DeliveryGrid.Items.Add(data);
}
}
}
你可以分享BikesOrderObjects代碼? – Nitin
@nit謝謝!我現在提供 –
你是單向約束第一列,是否有一個原因,你沒有約束其他列? – 2013-09-23 06:06:37