有人可以請我指出正確的方向嗎?DataGrid中的列表框
我有一個datagrid通過sqlite查詢返回多行。在每一行中,我需要一個列表框,它應該返回與該行關聯的多個項目。我將數據網格中父表的引用ID作爲列返回,但似乎找不到解決方案來返回列表框中的子記錄。
我想我需要通過「DataGridTemplateColumn」或其他什麼來做到這一點。
問題1:我怎麼會通過SQL迭代呈現在後面的代碼或任何其他方法
圖形表示的什麼,我需要與孩子列表框項目的DataGrid行:這將如何在XAML 問題2被結構化
注:每個列表框需要是可以編輯的
public void getItems()
{
try
{
string thisPermitID = "1";
DataTable potentialHazards;
String query = "select JSAPH.JobSafetyAnalysisStepPotentialHazardID \"JobSafetyAnalysisStepPotentialHazardID\""
+ ", JSA.RefPermitID \"RefPermitID\""
+ ", JSAPH.RefJobSafetyAnalysisStepID \"RefJobSafetyAnalysisStepID\""
+ ", JSAS.StepDescription \"StepDescription\""
+ ", JSAPH.PotentialHazard \"PotentialHazard\""
+ " from JobSafetyAnalysis JSA"
+ " inner join JobSafetyAnalysisStep JSAS on JSAS.RefJobSafetyAnalysisID = JSA.JobSafetyAnalysisID"
+ " inner join JobSafetyAnalysisStepPotentialHazard JSAPH on JSAPH.RefJobSafetyAnalysisStepID = JSAS.JobSafetyAnalysisStepID"
+ " where RefPermitID = '" + thisPermitID + "'";
potentialHazards = db.GetDataTable(query);
List<Item> PotentialHazardSelectedList = new List<Item>();
foreach (DataRow r in potentialHazards.Rows)
{
if (Items != null)
{
Items.Add(new Item()
{
Name = r["StepDescription"].ToString(),
ItemCollection = new ObservableCollection<string>() { r["PotentialHazard"].ToString() }
});
}
}
this.DataContext = Items;
}
catch (Exception fail)
{
String error = "The following error has occurred:\n\n";
error += fail.Message.ToString() + "\n\n";
MessageBox.Show(error);
}
}
Hmmmm,只是碰到這種凸輪張貼... http://stackoverflow.com/questions/16645014/binding-collection-listbox-datagrid?rq=1,並會看到如果這對我的作品... –
...不完全是我在找什麼。 ..使用列表框的原因是能夠通過列表框將列表項目編輯爲列表框方法。 –
聽起來對我來說就像你必須在代碼中創建它們,並將它們綁定到XAML上 – Noctis