求助:关于WPF界面中同步显示数据库中查到的数据的问题 10
求助大神,问题如下下面的界面打开时,所有文本框的值都显示不出来,下面的代码都是以姓名旁边的textBox为例来说明的。但是如果在Window_Loaded中的所有代码执行...
求助大神,问题如下
下面的界面打开时,所有文本框的值都显示不出来,下面的代码都是以姓名旁边的textBox为例来说明的。但是如果在Window_Loaded中的所有代码执行之前加上一个MessageBox.Show("随便一个字符"),此时界面中所有的textBox都能将从数据库中查到的数据正确显示出来,这到底是个什么情况呢,百思不得其解。不要告诉我用数据绑定的方式哦,我现在就是想知道下面为什么会出现我遇到的这个问题,谢谢!!!
UI如下
代码简化如下所示:(以姓名对应的textbox为例)
private void Window_Loaded(object sender, RoutedEventArgs e)
{
//A处,此处如果添加一个MessageBox.Show("随便一个字符");的话在界面打开时就能显示文本
Customer customer = new CustomerDAL().GetById(2);
txtName.Text = customer.Name;
......
}
CustomerDAL的定义如下
class CustomerDAL
{
public Customer GetById(long id)
{
DataTable dt = SqlHelper.ExecuteDataTable("select * from T_Customer where Id=@Id",
new SqlParameter("@Id", id));
DataRow row = dt.Rows[0];
Customer cust = new Customer();
cust.Name = (string)row["Name"];
return cust;
}
}
SqlHelper类如下
static class SqlHelper
{
public static DataTable ExecuteDataTable(string sql, params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
cmd.Parameters.AddRange(parameters);
DataSet dataset = new DataSet();
SqlDataAdapter apdater = new SqlDataAdapter(cmd);
apdater.Fill(dataset);
return dataset.Tables[0];
}
}
}
}
Customer类定义如下:(即使让该类实现INotifyPropertyChanged接口问题依然如此)
class Customer
{
public string Name{set;get;}
} 展开
下面的界面打开时,所有文本框的值都显示不出来,下面的代码都是以姓名旁边的textBox为例来说明的。但是如果在Window_Loaded中的所有代码执行之前加上一个MessageBox.Show("随便一个字符"),此时界面中所有的textBox都能将从数据库中查到的数据正确显示出来,这到底是个什么情况呢,百思不得其解。不要告诉我用数据绑定的方式哦,我现在就是想知道下面为什么会出现我遇到的这个问题,谢谢!!!
UI如下
代码简化如下所示:(以姓名对应的textbox为例)
private void Window_Loaded(object sender, RoutedEventArgs e)
{
//A处,此处如果添加一个MessageBox.Show("随便一个字符");的话在界面打开时就能显示文本
Customer customer = new CustomerDAL().GetById(2);
txtName.Text = customer.Name;
......
}
CustomerDAL的定义如下
class CustomerDAL
{
public Customer GetById(long id)
{
DataTable dt = SqlHelper.ExecuteDataTable("select * from T_Customer where Id=@Id",
new SqlParameter("@Id", id));
DataRow row = dt.Rows[0];
Customer cust = new Customer();
cust.Name = (string)row["Name"];
return cust;
}
}
SqlHelper类如下
static class SqlHelper
{
public static DataTable ExecuteDataTable(string sql, params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
cmd.Parameters.AddRange(parameters);
DataSet dataset = new DataSet();
SqlDataAdapter apdater = new SqlDataAdapter(cmd);
apdater.Fill(dataset);
return dataset.Tables[0];
}
}
}
}
Customer类定义如下:(即使让该类实现INotifyPropertyChanged接口问题依然如此)
class Customer
{
public string Name{set;get;}
} 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询