【发布时间】:2014-08-29 09:52:03
【问题描述】:
我有一个订单表 (orderTBL)。当用户创建订单时,它会在数据库中添加一个带有自定义订单号的新行。我从这个数据库加载我的树视图节点,但是,如果有不止一行具有相同的订单号,它会创建多个树视图节点。是否可以每个订单号仅显示一个树视图节点? TreeView 用于控制 DataRowFilter 仅显示在 DataGridView 中选择的订单号的订单 这是我使用的代码:
public void ordersForm_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'lWADataBaseDataSet.orderTBL' table. You can move, or remove it, as needed.
// this.orderTBLTableAdapter.Fill(this.lWADataBaseDataSet.orderTBL);
getOrders();
getNumbers();
string sOrder = null;
int I = 0;
for (I = 0; (I <= (orderTBL.Rows.Count - 1)); I++)
{
sOrder = orderTBL.Rows[1][1].ToString();
treeView1.Nodes[0].Nodes.Add(sOrder);
}
}
private void getNumbers()
{
SqlCeConnection con = new SqlCeConnection(@"Data Source=|DataDirectory|\LWADataBase.sdf;");
try
{
con.Open();
}
catch (SqlCeException ex)
{
MessageBox.Show(ex.Message);
return;
}
treeView1.Nodes.Clear();
SqlCeCommand cmd = new SqlCeCommand("SELECT * FROM orderTBL ORDER BY[Order Number] ASC", con);
try
{
SqlCeDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
TreeNode node = new TreeNode(dr["Order Number"].ToString());
treeView1.Nodes.Add(node);
}
}
catch (SqlCeException ex)
{
MessageBox.Show(ex.Message);
return;
}
con.Close();
}
【问题讨论】:
-
这通常是一个非常严重的错误。不要隐藏它,修复它。