2011-12-27 2 views
2

wpf에 목록 뷰 하위 항목을 삽입하고 싶습니다.wpf에서 하위 항목을 추가하는 방법 listvew C#

나는

con.Open(); 
DataTable dt = new DataTable(); 
DataSet ds = new DataSet(); 
ds.Tables.Add(dt); 

OleDbDataAdapter da = new OleDbDataAdapter("select * from test where (SecSym='" + secsym + "')", con); 
da = new OleDbDataAdapter("select * from test where (SecSym='" + secsym + "')order by Date desc", con); 
da.Fill(dt); 
int iRecords = 0; 
foreach (DataRow myrow in dt.Rows) 
{ 
    ListViewItem lItem = new ListViewItem(); 
    lItem.UseItemStyleForSubItems = false; 
    DateTime Date = DateTime.ParseExact(myrow[3].ToString(), "yyyyMMdd", CultureInfo.CurrentCulture); 
    string date = Date.ToString("ddd, dd-MMM-yyyy"); 
    lItem = listviewTargets.Items.Insert(iRecords, date); 
    lItem.UseItemStyleForSubItems = false; 
    // listviewTargets.Items.Add(myrow[2].ToString()); 
    lItem.SubItems.Add(myrow[1].ToString()); 
    lItem.SubItems.Add(myrow[15].ToString()); 
    lItem.SubItems.Add(myrow[5].ToString(), Color.White, Color.Green, lItem.Font); 
    lItem.SubItems.Add(myrow[7].ToString()); 
    lItem.SubItems.Add(myrow[8].ToString()); 
    lItem.SubItems.Add(myrow[9].ToString()); 
    lItem.SubItems.Add(myrow[10].ToString()); 
    iRecords++; 
    lItem = listviewTargets.Items.Insert(iRecords, ""); 
    lItem.UseItemStyleForSubItems = false; 
    lItem.SubItems.Add(""); 
    lItem.SubItems.Add(""); 
    lItem.SubItems.Add(myrow[6].ToString(), Color.White, Color.Red, lItem.Font); 
    lItem.SubItems.Add(myrow[11].ToString()); 
    lItem.SubItems.Add(myrow[12].ToString()); 
    lItem.SubItems.Add(myrow[13].ToString()); 
    lItem.SubItems.Add(myrow[14].ToString()); 
    iRecords++; 
} 
con.Close(); 

, 윈도우 폼 목록보기의 하위 항목을 삽입 할이 코드를 사용하고하지만 WPF의 목록보기에서 하위 항목을 삽입하는 방법을 모르겠어요.

누군가 나를 도와 줄 수 있다면 큰 감사가있을 것입니다.

감사의 말 전진.

답변

2

WPF 목록보기는 약간 다릅니다 그리고 당신은 다음과 같은 목표를 달성 할 수 에는 "하위 항목"을주지 않습니다

<ListView ItemsSource="{Binding People}"> 
    <ListView.View> 
     <GridView> 
      <GridViewColumn Header="Name" DisplayMemberBinding="{Binding Name}"/> 
      <GridViewColumn Header="Date of Birth" DisplayMemberBinding="{Binding DOB}"/> 
     </GridView> 
    </ListView.View> 
</ListView> 

: (컬렉션에 데이터 바인딩과) XAML에서 목록보기를 정의

이 예제의 코드 숨김 :

public partial class MainWindow : Window 
{ 
    public class Person 
    { 
     public string Name {get;set;} 
     public DateTime DOB {get;set;} 
    } 

    public IList<Person> People { get; set; } 

    public MainWindow() 
    { 
     People = new List<Person>() 
     { 
      new Person() {Name = "Martin", DOB = DateTime.Now.AddYears(-20)}, 
      new Person() {Name = "Lilo", DOB = DateTime.Now.AddYears(-25)} 
     }; 

     InitializeComponent(); 
     this.DataContext = this; 
    } 
} 

ListView Expample

관련 문제