У меня есть label
в меню навигации MainWindow, и содержимое привязано к команде SQL, и этот метод называется public void HBD_Count()
У меня есть разные UserControls
где на Button_Click
Я хочу вызвать public void HBD_Count()
, чтобы можно было обновить значение в моем label
.
Я пробовал вызвать public partial class
из моего MainWindow на мои UserControl
страницы, но это не сработало.
Вот мой код в моем главном окне, который заполняет label
:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Loaded += MyWindow_Loaded;
HBD_Count();
}
public void HBD_Count()
{
try
{
SqlConnection connection = new SqlConnection("Data Source=WINDOWS-B1AT5HC\\SQLEXPRESS;Initial Catalog=CustomerRelations;Integrated Security=True;");
string selectQuery = ("SELECT COUNT(*) AS HBDCount FROM hb_Disputes WHERE (ASSGNTO = 'E099255') AND (STATUS = 3)");
connection.Open();
SqlCommand command = new SqlCommand(selectQuery, connection);
SqlDataReader sqlReader = command.ExecuteReader();
while (sqlReader.Read())
{
HBD_Counts.Content = sqlReader["HBDCount"].ToString();
}
connection.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
Вот мой код на моей UserControl
странице:
public partial class Import_HighBill : UserControl
{
public string ValueString { get; set; }
public partial class MainWindow : Window { }
public Import_HighBill()
{
InitializeComponent();
AssignList();
}
private void butn_Assign_Click(object sender, RoutedEventArgs e)
{
SqlConnection con = new SqlConnection("Data Source=WINDOWS-B1AT5HC\\SQLEXPRESS;Initial Catalog=CustomerRelations;Integrated Security=True;");
try
{
SqlCommand cmd = new SqlCommand("UPDATE [hb_Disputes] SET ASSGNTO=@ASSGNTO WHERE DSP_ID=@DSP_ID", con);
cmd.Parameters.AddWithValue("@DSP_ID", txt_ID.Text);
// cmd.Parameters.AddWithValue("@DATERSLVD", DBNull.Value);
// Analyst Name
if (cmb_AnalystName.SelectedValue == null)
{
cmd.Parameters.AddWithValue("@ASSGNTO", DBNull.Value);
}
else
{
cmd.Parameters.AddWithValue("@ASSGNTO", cmb_AnalystName.SelectedValue);
}
con.Open();
cmd.ExecuteNonQuery();
con.Close();
// Here is where I am trying to call the method
HBD_Count();
// Clear Search Fields
cmb_AnalystName.SelectedIndex = -1;
MessageBox.Show("Dispute Assinged!!!");
AssignList();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}