エラーを最初に説明することができます。第二1で始まるながらデータバインドリストボックスに関するエラーを表示します
1.表示順序エラー
リストボックスは、項目が表示され、最初は最後が、4になります。最後の項目にも同じ問題があります。
2 iが400個の以上の列を有するデータテーブルとリストボックスに結合する場合、最初の項目ミスとなり、そうでエラー
を欠落行最後の一つ。
は、データ
ここOLEDBの方法でアクセスデータベースからデータを取得するためのC#コードであるを保存するためにACCDBを使用して、ここで
1.コードを投稿してください。私は
<ListBox Name="LbxMain" Margin="20" ItemsSource="{Binding Path=TRRecord}" HorizontalContentAlignment="Stretch"> <ListBox.ItemTemplate> <DataTemplate> <Border BorderThickness="1" BorderBrush="Gray" Margin="5"> <Grid Background="{Binding Path=StatusColor}"> <Grid.RowDefinitions> <RowDefinition/> <RowDefinition/> <RowDefinition/> <RowDefinition/> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> <ColumnDefinition Width="200"/> </Grid.ColumnDefinitions> <TextBlock Grid.Row="0" Grid.Column="0" Text="{Binding Path=ID}"/> <TextBlock Grid.Row="1" Grid.ColumnSpan="2" Text="{Binding Path=PN}"/> <TextBlock Grid.Row="2" Grid.Column="0" Text="{Binding Path=Type}"/> <TextBlock Grid.Row="3" Grid.Column="0" Text="{Binding Path=TaskType}"/> <TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding Path=Status}"/> </Grid> </Border> </DataTemplate> </ListBox.ItemTemplate> </ListBox>
...私は私がすべての結合declearsはすべての権利を取得願ってい
を構築し、それを右...
public partial class MainWindow : Window
{
DataSet DsMain = new DataSet();
OleDbConnection Conn = new OleDbConnection();
OleDbDataAdapter Dpter = new OleDbDataAdapter();
public MainWindow()
{
InitializeComponent();
string StartPath = System.Windows.Forms.Application.StartupPath + @"\AltiumDatabase.accdb";
Conn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + StartPath);
try
{
Conn.Open();
string strcmd = "select ID,TaskType, Status,StatusColor,PN,Type,Owner,Checker,Deadline,StartDate,Tag from TRRecord";
OleDbCommand cmd = new OleDbCommand(strcmd, Conn);
Dpter.SelectCommand = cmd;
Dpter.Fill(DsMain, "TRRecord");
LbxMain.DataContext = DsMain;//bind to the listbox
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
Conn.Close();
}
}
}
2.カスタムリストボックスを願っています私はINotifyPorpertyChangedを使用する必要がありますまたはObservableCollection?私はちょうどテーブルを記入した後にデータをバインドするので、変更はありません。本当に重要ですか? 誰かが助けてくれたら本当に感謝しています。誰もがこのポストを読んでくれてありがとう。
エラー...私の英語はあまり良くありません。だから私はどこか明白に記述していないか教えてください。
errr ...私はちょうどこの問題の鍵を見つけるようです。それぞれのリストボックスアイテムに複雑なコンテンツがあるため、ListBox.Items.SortDescriptions.Add(新しいIDSystem.ComponentModel.SortDescription( "ID"、System.ComponentModel.ListSortDirection.Ascending)))を使用することを意味するソートの特定のルールを与える必要があります。あなたの答えは –