2015-12-02 49 views
1

我见过一些类似的帖子。 这里的区别在于我不想手动设置所有列的绑定。如何将数据网格绑定到一个成员是列表的类?

所以我有一个类

public class PartProgram 
{ 
    public string Description { get; set; } 
    public string Note { get; set; }  
    public string PartProgramFilename { get; set; } 
    public List<String> LstBlades { get; set; } 
} 

,我已经通过它绑定到一个DataGridView:

dtgPPtab3.ItemsSource = olstPartPrograms; 

其中

public ObservableCollection<PartProgram> olstPartPrograms = new ObservableCollection<PartProgram>(); 

能正常工作几乎无处不在,其结果是在下面的图片:

enter image description here

因此,所有的列都正确的,但在最后一个,我想有收藏价值改为类似blade1,刀片2等

+0

@SonerGönül只是为了理解。是否将编程语言放在标题中是错误的,因为这是一个与C#WPF无关的普遍问题? – Patrick

+0

问题可能与C#和WPF有关,但通常不需要在标题中添加标签。你可以阅读[应该问题包括“标签”在他们的标题?](http://meta.stackexchange.com/q/19190/158761) –

回答

0

行,所以感谢大家的帮助,但我发现从http://www.wpf-tutorial.com/datagrid-control/details-row/

采取了非常简单的解决办法想象一下,有绑定到一个DataGrid类:

ObservableCollection<User> users = new ObservableCollection<User>(); 
List<String> lst = new List<string>(); 
lst.Add("AAA"); 
lst.Add("BBB"); 
lst.Add("CCC"); 
users.Add(new User() { Id = 1, Name = "John Doe", Str = lst }); 
dg.ItemsSource = users; 

如果我想详细在类我添加访问器的详细信息:

public class User 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public List<String> Str { get; set; } 
    public string Details<-------------------------------- 
    { 
     get 
     { 
      String locStr=string.Empty; 
      foreach (var item in this.Str) 
       locStr += item + ", "; 
      return locStr; 
     } 
    } 
} 

它提供了魔术有一个可以理解的清单版本。 所以结果是: i get a string from a list

0

你必须使用一个ItemsControl(数据网格/ ListView等)显示收集列的内容。

例如;

<DataGridTemplateColumn> 
    <DataGridTemplateColumn.CellTemplate> 
      <DataTemplate> 
       <DataGrid ItemsSource="{Binding LstBlades }"/> 
      </DataTemplate> 
    </DataGridTemplateColumn.CellTemplate> 
</DataGridTemplateColumn> 
+0

我收到一个异常项目集合必须为空之前使用ItemsSource。 – Patrick

+0

请你详细说明我的代码背后的特殊情况? – Patrick

+0

它类似于http://stackoverflow.com/questions/1754608/what-is-the-code-behind-for-datagridtemplatecolumn-and-how-to-use-it但我无法适应它在我的工作情况下,只能在第3列上工作,以及如何格式化列表,如str1,str2,... – Patrick