0

私は2つのリストボックスを持っています。1 つには割り当てられていないすべての部門が含まれ、もう 1 つのリストボックスには特定の人に割り当てられているすべての部門が含まれます。ここで、挿入および削除クエリを使用して部門を追加および削除したいと考えています。クエリは、割り当てられた部門 (listbox2) の 1 つのテーブルに対してのみ実行され、[保存] ボタンをクリックすることによって実行されます。挿入部分は実行しましたが、削除部分を処理できません。いくつかの例を見てきましたが、DB イベントが含まれていません。

protected void Save_Click(object sender, EventArgs e)
{
    DataTable dt = GetData2();
    bool found = false;

    foreach (RadListBoxItem item in RadListBox2.Items)
    {

        found = false;
        foreach (DataRow dr in dt.Rows)
        {
            if (String.Compare(item.Value, dr["DeptID"].ToString()) == 0)
            {
                found = true; 
                label1.Text = "Add a New Group to the ListBox";
            }

        }
        if (found == false)
        {
            Item(item.Text, item.Value);
        }

これが私がやろうとしていることです。保存ボタンで挿入および削除イベントを処理したい。

4

2 に答える 2

1

解決策を見つけたので、ここに投稿します。

    foreach (DataRow dr in dt.Rows)
    {
        found = false;
        foreach (RadListBoxItem item in RadListBox2.Items)
        {
            if (String.Compare(item.Value, dr["DeptID"].ToString()) == 0)
            {
                found = true;
            }
        }

            if (found == false)
            {
                 //delete here
            }
        }


} 
于 2011-07-28T14:55:46.820 に答える
0

RadListBox の Transferred イベントを使用します。Transferred イベントが発生すると、Items は移動先リストボックスの ID を見て、アイテムが未割り当てまたは割り当て済みの ListBox に移動されたかどうかを判断します。宛先がわかったら、クエリを実行して、データベースに行を追加または削除できます。

いずれにせよ、クエリはスキーマに依存します。私の状況では、アイテムが添付されているかどうかを判断するルックアップ テーブルがありました。

rlistAvailable_Transferred(object sender, Telerik.Web.UI.RadListBoxTransferredEventArgs e)
{
        if (e.DestinationListBox.ID == "rlistAttached") 
        {
            foreach (Telerik.Web.UI.RadListBoxItem li in e.Items) 
                {
            //do insert query using li.Value
                }
        } 
        else 
        {
            foreach (Telerik.Web.UI.RadListBoxItem li in e.Items) 
                    {
            //do delete query using li.Value
                }
         }
}
于 2011-07-27T18:30:01.497 に答える