私はスペイン人なので英語が苦手なので、何かわからないことがあれば翻訳機を使っています。
私の問題は、メインウィンドウに2つのウィンドウがあるプログラムを実行していることです.2番目のウィンドウにデータグリッドがあります.テキストボックスで情報を渡します.問題は、金額を掛けて合計価格を渡すことで、価格のデザートが得られることです.デザートの場合、その価格の周りを渡したときのデータグリッドの合計価格、価格が1.20になった場合、プログラムは1に変更されます.
エラーが発生しないので、プログラム コード全体を無駄にする必要があります。
これは2番目のウィンドウです
private void Window_Loaded(object sender, RoutedEventArgs e)
{
if (Application.Current.Properties["seleccionado"] == null)
{
textBox1.IsEnabled = false;
Postresinfo = new TabladePostre();
}
else
{
Postresinfo = (TabladePostre) (Application.Current.Properties["seleccionado"]);
textBox1.IsEnabled=false;
textBox1.Text = Convert.ToString(Postresinfo.refPostre);
textBox2.Text = Postresinfo.NombrePostre;
textBox3.Text = Convert.ToString(Postresinfo.cantidad);
textBox4.Text = Convert.ToString(Postresinfo.precio);
textBox5.Text = Convert.ToString(Postresinfo.preciototal);
}
LinqdePostresDataContext BasedeDatos;
string filename = "";
private void button1_Click(object sender, RoutedEventArgs e)
{
BasedeDatos(LinqdePostresDataContext)Application.Current.Properties["basedeDatos"];
Postresinfo.NombrePostre = textBox2.Text;
Postresinfo.cantidad = Convert.ToInt32(textBox3.Text);
Postresinfo.precio = Convert.ToDecimal(textBox4.Text);
Postresinfo.preciototal = Convert.ToDecimal(textBox5.Text);
Postresinfo.imagen = filename;
if (Application.Current.Properties["seleccionado"] != null)
{
Postresinfo.refPostre=Convert.ToInt32(textBox1.Text);
}
else
{
BasedeDatos.TabladePostres.InsertOnSubmit(Postresinfo);
}
BasedeDatos.SubmitChanges();
this.Close();
}
decimal precio = 0;
private void button2_Click(object sender, RoutedEventArgs e)
{
precio = Convert.ToDecimal(textBox4.Text);
textBox5.Text = Convert.ToString(precio * Convert.ToDecimal(textBox3.Text));
}
private void button9_Click(object sender, RoutedEventArgs e)
{
// Configure open file dialog box
Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
dlg.FileName = "Document"; // Default file name
dlg.DefaultExt = ".jpg"; // Default file extension
dlg.Filter = "Text documents (.jpg)|*.jpg"; // Filter files by extension
// Show open file dialog box
Nullable<bool> result = dlg.ShowDialog();
// Process open file dialog box results
if (result == true)
{
// Open document
filename = dlg.FileName;
ImageSourceConverter conversor = new ImageSourceConverter();
image1.Source = (ImageSource)conversor.ConvertFromString(filename);
}
}
これがメイン ウィンドウです。
LinqdePostresDataContext BasedeDatos = new LinqdePostresDataContext();
private void activar(object sender, RoutedEventArgs e)
{
Cargartabla();
}
private void Cargartabla()
{
var postre = (from n in BasedeDatos.TabladePostres
select n);
dataGrid1.ItemsSource = postre;
}
private void button1_Click(object sender, RoutedEventArgs e)
{
Application.Current.Properties["seleccionado"] = null;
Ventana2 Ventana2 = new Ventana2();
Ventana2.Show();
}
private void button2_Click(object sender, RoutedEventArgs e)
{
BasedeDatos.TabladePostres.DeleteOnSubmit((TabladePostre)dataGrid1.SelectedItem);
BasedeDatos.SubmitChanges();
Cargartabla();
}
private void Activar2(object sender, EventArgs e)
{
Cargartabla();
}
private void button3_Click(object sender, RoutedEventArgs e)
{
Application.Current.Properties["seleccionado((TabladePostre)dataGrid1.SelectedItem);
Application.Current.Properties["basedeDatos"] = BasedeDatos;
Ventana2 ventana2 = new Ventana2();
ventana2.Show();
}
知っておく必要がある場合は、int 価格、10 進数の合計価格の int 数量のデータベースがあります。
返信ありがとうございます。両方のオプションを試してみましたが、機能しません。これらは欠点です。
Postresinfo.refPostre = float.Parse (textBox1.Text) はエラーを出さず、プログラムは正常に実行され、何も変化しません
float.TryParse (textBox1.Text、out Postresinfo.refPostre) には次の障害があります。
エラー 1 プロパティ、インデクサー、または動的メンバー アクセスを out または ref パラメーターとして渡すことはできません。
エラー 2 'float.TryParse (string, out float)' に最適なオーバーロードされたメソッド マッチには無効な引数が含まれています
エラー 3 引数 2: 'out int' から 'float out' に変換できません
他のコードを試してみましたが、何も変わりません。プログラムは正常に実行されます
シェーン今、私はこのコードを試しました:
Convert.ToDecimal (textBox1.Text);
しかし、それは何も変更せず、正常に実行されます。
他のコードも試しましたが、何も変わらず、プログラムは正常に実行されます
障害はtextbox1ではありません。価格を10進数で入力してデータグリッドに渡し、丸められたTextBox5テキストボックスにあるためだと思います
また、失敗した列を添付します。
<DataGridTextColumn Binding="{Binding Path=preciototal}" Header="Precio Total"/>
ありがとう。