Таким образом, моя программа получает значение для DataGrid из другого окна (ту часть, которую я уже решил), и теперь я хотел отредактировать это указанное значение, выбрав строку из моей DataGrid и перенеся указанное значение в новое окно с помощью кнопки щелчка, но Я не знаю, как это мой код Mainwindow:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="A" Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="50"/>
</Grid.RowDefinitions>
<DataGrid Name="myGrid" Grid.Column="12" Grid.Row="0" AutoGenerateColumns="False" IsSynchronizedWithCurrentItem="True"
ItemsSource="{Binding SelectedItem}" Margin="0,0,-0.4,117" >
<DataGrid.Columns>
<DataGridTextColumn Width="110" Header="B-day" Binding="{Binding Bday}"></DataGridTextColumn>
<DataGridTextColumn Width="50" Header="Id" Binding="{Binding Id}"></DataGridTextColumn>
<DataGridTextColumn Width="100" Header="Id Type" Binding="{Binding IdType}"></DataGridTextColumn>
<DataGridTextColumn Width="130" Header="Name" Binding="{Binding Name}"></DataGridTextColumn>
<DataGridTextColumn Width="100" Header="Date Borrowed" Binding="{Binding LoaningDate}"></DataGridTextColumn>
<DataGridTextColumn Width="130" Header="Amount Borrowed" Binding="{Binding Amount}"></DataGridTextColumn>
<DataGridTextColumn Width="100" Header="Interest" Binding="{Binding Interest}"></DataGridTextColumn>
<DataGridTextColumn Width="100" Header="Address" Binding="{Binding Address}"></DataGridTextColumn>
<DataGridTextColumn Width="100" Header="Contact no." Binding="{Binding ContNo}"></DataGridTextColumn>
<DataGridTextColumn Width="110" Header="Contact Person" Binding="{Binding ContPer}"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
<Button Grid.Row="1" Grid.Column="0" Content="Add new" Name="AddNew"
Width="80" Height="30" HorizontalAlignment="Left" Click="AddNew_Click" />
<Button Grid.Row="1" Grid.Column="0" Content="Pay" Name="PayTB"
Width="80" Height="30" HorizontalAlignment="Left" Margin="144,10.4,0,10" Click="PayTB_Click" />
</Grid>
MainWindow cs:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Class1.ListCustumer = new List<Customer>();
}
private void ShowData()
{
myGrid.ItemsSource = null;
myGrid.ItemsSource = Class1.ListCustumer;
}
private void AddNew_Click(object sender, RoutedEventArgs e)
{
AddCustomer addCustomer = new AddCustomer();
addCustomer.ShowDialog();
ShowData();
}
private void PayTB_Click(object sender, RoutedEventArgs e)
{
Utility mew = new Utility();
Payment win = new Payment();
win.DataContext = mew.SelectedItem;
win.Show();
}
}
AddCustomer xaml:
<Grid>
<Label Content="B-Day:" HorizontalAlignment="Left" Height="25" Margin="43,32,0,0" VerticalAlignment="Top" Width="50" RenderTransformOrigin="0.52,-0.765"/>
<DatePicker Name="BdayTB" HorizontalAlignment="Left" Margin="137,33,0,0" VerticalAlignment="Top" Width="287"/>
<Label Content="ID:" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="40,61,0,0"/>
<TextBox HorizontalAlignment="Left" Height="26" Margin="137,61,0,0" TextWrapping="Wrap" Name="IdTB" VerticalAlignment="Top" Width="287"/>
<Label Content="ID Type:" HorizontalAlignment="Left" Margin="40,92,0,0" VerticalAlignment="Top"/>
<ComboBox Name="TypeCB" HorizontalAlignment="Left" VerticalAlignment="Top" Width="193" Margin="137,92,0,0">
<ComboBoxItem IsSelected="True">Compoany ID</ComboBoxItem>
<ComboBoxItem>School ID</ComboBoxItem>
<ComboBoxItem>Passport</ComboBoxItem>
<ComboBoxItem>Driver's License</ComboBoxItem>
</ComboBox>
<Label Content="Name:" HorizontalAlignment="Left" Margin="40,123,0,0" VerticalAlignment="Top"/>
<TextBox HorizontalAlignment="Left" Height="23" Margin="137,126,0,0" TextWrapping="Wrap" Name="NameTB" VerticalAlignment="Top" Width="287"/>
<Label Content="Date Borrowed:" HorizontalAlignment="Left" Margin="40,154,0,0" VerticalAlignment="Top"/>
<DatePicker Name="DateLoanTB" HorizontalAlignment="Left" Margin="138,156,0,0" VerticalAlignment="Top" Width="260"/>
<Label Content="Amount:" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="40,185,0,0"/>
<TextBox x:Name="AmountTB" HorizontalAlignment="Left" Height="23" Margin="138,187,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/>
<Label Content="Interest:" HorizontalAlignment="Left" Margin="40,216,0,0" VerticalAlignment="Top"/>
<TextBox x:Name="InterestTB" HorizontalAlignment="Left" Height="23" Margin="138,216,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="26"/>
<Label Content="Address:" HorizontalAlignment="Left" Margin="41,247,0,0" VerticalAlignment="Top"/>
<TextBox HorizontalAlignment="Left" Height="23" Margin="138,251,0,0" TextWrapping="Wrap" Name="AddressTB" VerticalAlignment="Top" Width="287"/>
<Label Content="Contact no:" HorizontalAlignment="Left" Margin="41,278,0,0" VerticalAlignment="Top"/>
<TextBox HorizontalAlignment="Left" Height="23" Margin="138,279,0,0" TextWrapping="Wrap" Name="ContnoTB" VerticalAlignment="Top" Width="287"/>
<Label Content="Contact Person:" HorizontalAlignment="Left" Margin="39,309,0,0" VerticalAlignment="Top"/>
<TextBox HorizontalAlignment="Left" Height="23" Margin="137,309,0,0" TextWrapping="Wrap" Name="ContperTB" VerticalAlignment="Top" Width="262"/>
<Button x:Name="btn_Add" Content="Add" HorizontalAlignment="Left" Margin="425,371,0,0" VerticalAlignment="Top" Width="75" Click="btn_Add_Click"/>
<Button x:Name="btn_Close" Content="Close" HorizontalAlignment="Left" Margin="529,371,0,0" VerticalAlignment="Top" Width="75" Click="btn_Close_Click"/>
</Grid>
AddCustomer cs:
public partial class AddCustomer : Window
{
public AddCustomer()
{
InitializeComponent();
}
private void btn_Add_Click(object sender, RoutedEventArgs e)
{
//getting the value from control
string bday = BdayTB.SelectedDate.Value.Date.ToShortDateString();
double id = Convert.ToDouble(IdTB.Text);
string idtype = ((ComboBoxItem)TypeCB.SelectedItem).Content.ToString();
string name = NameTB.Text;
string loaningdate = DateLoanTB.SelectedDate.Value.Date.ToShortDateString();
double amount = Convert.ToDouble(AmountTB.Text);
double interest = Convert.ToDouble(InterestTB.Text);
string address = AddressTB.Text;
double contno = Convert.ToDouble(ContnoTB.Text);
string contper = ContperTB.Text;
//Creating a new object of employee
Customer customer = new Customer(id, name, idtype, loaningdate, amount, interest, address, contno, contper, bday);
Class1.ListCustumer.Add(customer);
//Displaying the message
MessageBox.Show(this, "The customer has been added.");
ClearControls();
}
private void ClearControls()
{
BdayTB.SelectedDate = null;
IdTB.Text = string.Empty;
TypeCB.SelectedIndex = 0;
NameTB.Text = string.Empty;
DateLoanTB.SelectedDate = null;
AmountTB.Text = string.Empty;
InterestTB.Text = string.Empty;
AddressTB.Text = string.Empty;
ContnoTB.Text = string.Empty;
ContperTB.Text = string.Empty;
}
private void btn_Close_Click(object sender, RoutedEventArgs e)
{
this.Close();
}
}
Клиент cs:
class Customer
{
public Customer(double id, string name, string idtype, string loaningdate, double amount, double interest, string address, double contno, string contper, string bday)
{
set(id, name, idtype, loaningdate, amount, interest, address, contno, contper, bday);
}
public double Id { get; set; }
public string IdType { get; set; }
public string Name { get; set; }
public string LoaningDate { get; set; }
public string Bday { get; set; }
public double Amount { get; set; }
public double Interest { get; set; }
public string Address { get; set; }
public double ContNo { get; set; }
public string ContPer { get; set; }
public void set(double id, string name, string idtype, string loaningdate, double amount, double interest, string address, double contno, string contper, string bday)
{
Id = id;
IdType = idtype;
Name = name;
LoaningDate = loaningdate;
Amount = amount;
Interest = interest;
Address = address;
ContNo = contno;
ContPer = contper;
Bday = bday;
}
}
Class1 cs:
class Class1
{
public static List<Customer> ListCustumer;
}