1

すべての To Do を表示する短いプログラムを作成しています。私は2つのタブを持っています。1 つのタブは新しい To Do を作成するためのもので、もう 1 つのタブは選択したすべての To Do の詳細を表示するためのものです。そのため、作成した To Do を xml ファイルに保存する必要があります。このために、私は DataTable と DataSet を使用していますが、正常に動作します。ここに私のコード:

private void btn_Save_Click(object sender, EventArgs e)
        {
            DataSet dataset = new DataSet();

            if (File.Exists(@"C:\Users\rs\Desktop\Test\save.xml"))
            {
                dataset.ReadXml(@"C:\Users\rs\Desktop\Test\save.xml");

                dataset.Tables[0].Rows.Add(txt_Name.Text, combox_Priority.Text, txt_Beginn.Text, txt_EndSoll.Text, txt_EndIst.Text, txt_Bemerkungen.Text);
                dataset.WriteXml(@"C:\Users\rs\Desktop\Test\save.xml");
            }

            else
            {
                DataTable datatable = new DataTable();
                datatable.TableName = "SaveInput";

                DataColumn dc1 = new DataColumn("Name");
                DataColumn dc2 = new DataColumn("Priority");
                DataColumn dc3 = new DataColumn("StartDate");
                DataColumn dc4 = new DataColumn("EndDateSoll");
                DataColumn dc5 = new DataColumn("EndDateIst");
                DataColumn dc6 = new DataColumn("Comment");

                datatable.Columns.Add(dc1);
                datatable.Columns.Add(dc2);
                datatable.Columns.Add(dc3);
                datatable.Columns.Add(dc4);
                datatable.Columns.Add(dc5);
                datatable.Columns.Add(dc6);

                datatable.Rows.Add(txt_Name.Text, combox_Priority.Text, txt_Beginn.Text, txt_EndSoll.Text, txt_EndIst.Text, txt_Bemerkungen.Text);

                DataSet dataset2 = new DataSet();

                dataset2.Tables.Add(datatable);
                dataset2.DataSetName = "iToDo";

                dataset2.WriteXml(@"C:\Users\rs\Desktop\Test\save.xml");
            }

            XmlTextReader xmlreader = new XmlTextReader(@"C:\Users\rs\Desktop\Test\save.xml");
            XmlNodeType nodetype;

            while (xmlreader.Read())
            {
                nodetype = xmlreader.NodeType;

                if (nodetype == XmlNodeType.Element)
                {
                    if (xmlreader.Name == "Name")
                    {
                        xmlreader.Read();
                        combox_Name2.Items.Add(xmlreader.Value);
                    }

                    else if (xmlreader.Name == "Priority")
                    {
                        xmlreader.Read();
                    }

                    else if (xmlreader.Name == "StartDate")
                    {
                        xmlreader.Read();
                    }

                    else if (xmlreader.Name == "EndDateSoll")
                    {
                        xmlreader.Read();
                    }

                    else if (xmlreader.Name == "EndDateIst")
                    {
                        xmlreader.Read();
                    }

                    else if (xmlreader.Name == "Comment")
                    {
                        xmlreader.Read();
                    }
                }
            }

            xmlreader.Close();
        }

私の問題は次のとおりです。作成した「To-Do」を選択するたびに、正しい詳細が表示されるようにしたいのです。だから私は一緒に働いていましたSelectedIndexChanged。私も使った

if (combox_Name2.SelectedIndex > -1)
            {

            }

しかし、詳細が表示されないため、正しくコーディングしていないと思います。誰かが私にヒントを与えることができますか?午後中ずっとコードを編集していましたが、初心者にとっては、どこでエラーを起こしたのかわからない場合は非常に困難です。:)

乾杯

4

2 に答える 2

0

あなたが何を求めているのか正確にはわからないので、私はこれを推測しています:

// Associate the event-handling method with the SelectedIndexChanged event. 
combox_Name2.SelectedIndexChanged += new System.EventHandler(Combox_Name2_SelectedIndexChanged);

// The event-handling method
private void Combox_Name2_SelectedIndexChanged(object sender, System.EventArgs e)
{
    // Do your work here
}
于 2013-09-05T03:36:58.570 に答える