有人可以请我指出正确的方向吗?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