0

各データ行をループして、pid の値が 0 または null または空の値になるまでチェックしたい... 以下は私のコードです

if (!string.IsNullOrEmpty(pIDstr))
{
    int patientID = Convert.ToInt32(pID);

    //string connection = System.Configuration.ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString;
    string sqlquery = "SELECT * FROM [MyDatabase].[dbo].[PatExam] where PId = '" + patientID + "'";
    string connection = System.Configuration.ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString;
    using(SqlConnection conn = new SqlConnection(connection))
    {
        //SqlConnection conn = new SqlConnection(con);
        DataSet ds;
        ds = new DataSet();
        SqlDataAdapter cmpatientexam;
        conn.Open();

        cmpatientexam = new SqlDataAdapter(sqlquery, conn);
        cmpatientexam.Fill(ds, "PatientExam");

        foreach (DataRow patrow in ds.Tables["PatientExam"].Rows)
        {

                TreeNode tvpatexam = new TreeNode();
                tvpatexam.Text = patrow["PId"].ToString();
                TreeView1.Nodes.Add(tvpatexam);

                for //loop for checking all the patrow["PId"] value
                {
                    TreeNode childtvpatexam = new TreeNode();
                    childtvpatexam.Text = patrow["Exam"].ToString();
                    tvpatexam.ChildNodes.Add(childtvpatexam);
                }
            //TreeView1.Nodes.Add(tvpatexam);
        }


        ds.Dispose();
        cmpatientexam.Dispose();
        conn.Close();
        conn.Dispose();
    }
}

これらがどのように可能であるか、誰でもコードを送ることができます...どうもありがとう

私のデータベーステーブル PatExam には次の値が含まれています

PId     Exam
1004    firstexam
1004    secondexam
1004    thridexam
1004    fourthexam

だから私は1004を親ノードとして、1004のすべての試験値をツリービューの子ノードとして欲しい....

どうすればそれが可能になりますか?

4

1 に答える 1

1

親ノードごとに子ノードを追加するには、次のことを試してください。

TreeNode pidNode = new TreeNode();
pidNode.Text = PIDstr;

foreach (DataRow patrow in ds.Tables["PatientExam"].Rows)
{
    TreeNode examType = new TreeNode();
    examType.Text = patrow["Exam"].ToString();
    pidNode.Nodes.Add(examType);
}

TreeView1.Nodes.add(pidNode);

Nullまたは値を確認する必要はあり0ません - あなたが何を求めていたのか分かりません。

アップデート

ノードが繰り返し追加されている場合。これは、ノード リストの生成に使用されるアクションが繰り返しであることを意味します。を使用TreeView1.Nodes.Clear()してすべてのノードを削除するか、特定のノードが存在するかどうかを確認できます。

すべてのノードを削除するには、次のようなものを試してください

TreeView1.Nodes.Clear();

特定のノードを削除してその内容を更新するには、ノードを再作成する前に次のようなことを試してください。

TreeNode node = TreeView1.Nodes.FirstOrDefault(p=>p.Text == PIDstr);
TreeView1.Nodes.Remove(node);
于 2013-10-11T10:27:54.063 に答える