0

我有 2 个列表框。一个包含所有未分配的部门,另一个列表框包含分配给特定人员的所有部门。现在我想使用插入和删除查询来添加和删除部门。查询将仅在 1 个表上执行,即 Assigned Department(listbox2) 并通过单击 SAVE 按钮。我已经完成了插入部分,但无法处理删除部分。我见过几个例子,但他们没有数据库事件。

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 回答