Для примера я в программу вставил две таблицы: В верхней таблице нумерация у меня получилась с помощью кодов
public class Person : ViewModelBase
{
private const string ИмяФайлаБазыДанных = "БазаДанныхКадровыйОтчет.xml";
private static Person экземпляр;
private int номер;
private string имя;
public Таблица НаборДанных
{ get; set; }
public Person()
{
this.НаборДанных = new Таблица();
if (File.Exists(ИмяФайлаБазыДанных))
{
this.НаборДанных.ReadXml(ИмяФайлаБазыДанных);
this.НаборДанных.AcceptChanges();
}
}
public void Сохранить()
{
this.НаборДанных.WriteXml(ИмяФайлаБазыДанных);
this.НаборДанных.AcceptChanges();
}
public int Номер
{
get { return номер; }
set
{
номер = value;
base.RaisePropertyChangedEvent("Номер");
}
}
public string Имя
{
get { return имя; }
set
{
имя = value;
base.RaisePropertyChangedEvent("Номер");
}
}
public static Person Экземпляр
{
get
{
return экземпляр ?? (экземпляр = new Person());
}
}
}
}
а вторую я создал с помощью Набора Данных DataSet
Далее код XAML
<Window x:Class="ТаблицаDatGrid.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:ТаблицаDatGrid"
Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded">
<Window.Resources>
<local:Таблица x:Key="таблица"/>
<CollectionViewSource x:Key="сотрудникиViewSource"
Source="{Binding Сотрудники, Source={StaticResource таблица}}"/>
</Window.Resources>
<Window.DataContext>
<local:MainViewModel/>
</Window.DataContext>
<Grid>
<DataGrid x:Name="DGR" ItemsSource="{Binding БазаДанных}"
AutoGenerateColumns="False" Margin="0,0,0,188" Width="Auto" >
<DataGrid.Columns>
<DataGridTextColumn Header="Номер" Binding="{Binding Номер}"/>
<DataGridTextColumn Header="Имя" Binding="{Binding Имя}"/>
</DataGrid.Columns>
</DataGrid>
<DataGrid x:Name="DGR1" AutoGenerateColumns="False"
EnableRowVirtualization="True"
ItemsSource="{Binding Пользователи}" Margin="0,136,0,42" RowDetailsVisibilityMode="VisibleWhenSelected" Loaded="DGR1_Loaded">
<DataGrid.Columns>
<DataGridTextColumn x:Name="номерColumn" Binding="{Binding Номер, Mode=TwoWay}" Header="Номер" Width="Auto"/>
<DataGridTextColumn x:Name="имяColumn" Binding="{Binding Имя}" Header="Имя" Width="SizeToHeader"/>
</DataGrid.Columns>
</DataGrid>
<Button Content="Сохранить" HorizontalAlignment="Left" Height="27" Margin="10,282,0,0" VerticalAlignment="Top" Width="84" Click="Button_Click"/>
</Grid>
</Window>
Ситуация в том что в верхней таблице есть нумерация и она работает, из класса Person я в XAML коде вставляю DataGridTextColumn Header="Номер" Binding="{Binding Номер}" нумерация строк видна, но при сохранении не сохраняется. А вторая таблица сохраняется, но когда я также в коде XAML вставляю DataGridTextColumn Header="Номер" Binding="{Binding Номер}", то строки не нумеруются, пробовал двустороннюю привязку типа Mode=TwoWay, ничего не происходит, лучше наверное для наглядного примера исходник в файлообменник закинуть потому как кода написанного для нумерации многовато. Но хотя бы с этого начать.
Как мне сделать, чтобы при вводе в textbox перекидывала на следующий не используя Tab (TabIndex) К примеру через событие Textbox_textChanged
У меня есть метод, который возвращает файл пользователюНо во время выполнения метода возможно исключение
Код ниже (c# winforms vs2010) позволяет добавить текущую (выделенную) строку из datagridview1 на форме2 в checkedlistbox1 на форме1Подскажите пожалуйста, как изменить...
Всем привет! Недавно столкнулся с интересной задачей которая была решена "на коленке" и теперь ее нужно довести до умаСуть такова