簡體   English   中英

如何使用CheckBox實現從Asp.Net GridView向TextBox添加和刪除收件人

[英]How to implement add & remove recipients from Asp.Net GridView to TextBox using CheckBox

我陷入了這個問題,在Web應用程序上 ,我正在上傳聯系人並將其檢索到GridView中 我正在使用CheckBoxesGridview中選擇或取消選擇移動電話號碼並將所選號碼存儲到用逗號“,”分隔的多行TextBox中,以發送多個SMS 現在的問題是,當我取消選中 GridView中CheckBoxes時,無法從TextBox中刪除添加的數字或字符串。 請幫助我解決這個問題。 吃了我的時間!! 提前致謝..
下面是我的代碼:

protected void chkboxSelectAll_CheckedChanged(object sender, EventArgs e)
{
    bool SomethingChecked = false;
    CheckBox ChkBoxHeader = (CheckBox)gvcntct.HeaderRow.FindControl("chkboxSelectAll");
    foreach (GridViewRow row in gvcntct.Rows)
    {
        CheckBox ChkBoxRows = (CheckBox)row.FindControl("chkEmp");
        if (ChkBoxHeader.Checked == true)
        {
            ChkBoxRows.Checked = true;
        }
        else
        {
            ChkBoxRows.Checked = false;
            TextBox2.Text = "";
        }            
    }
    if (!SomethingChecked)
    {
        TextBox2.Text = "";
    }            
}

您可以使用以下方法從TextBox2刪除未經檢查的ID文本:

TextBox2.Text.Replace(string.Format(", {0}", ID), "");

這是完整的代碼(請注意,我取消了您正在使用的一些不必要的代碼,例如第三個else語句,因為復選框為truefalse ,所以永遠無法訪問它們):

protected void chkboxSelectAll_CheckedChanged(object sender, EventArgs e)
{
    TextBox2.Text = ""
    CheckBox ChkBoxHeader = (CheckBox)gvcntct.HeaderRow.FindControl("chkboxSelectAll");
    foreach (GridViewRow row in gvcntct.Rows)
    {
        CheckBox ChkBoxRows = (CheckBox)row.FindControl("chkEmp");
        ChkBoxRows.Checked = ChkBoxHeader.Checked;        
    }
}

protected void chkEmp_CheckedChanged(object sender, EventArgs e)
{
    System.Web.UI.WebControls.CheckBox CheckBox1 = (System.Web.UI.WebControls.CheckBox)sender;
    GridViewRow row = (GridViewRow)CheckBox1.NamingContainer;
    Label lblUser = (Label)row.FindControl("lblMake");
    string ID = row.Cells[2].Text;

    if (TextBox2.Text.Length > 0)
    {
        string[] Ids = TextBox2.Text.Split(',');

        if (CheckBox1.Checked == true)
        {
            TextBox2.Text += string.Format(", {0}", ID);
        }
        else if (CheckBox1.Checked == false)
        {
            CheckBox ChkBoxHeader = (CheckBox)gvcntct.HeaderRow.FindControl("chkboxSelectAll");
            foreach (GridViewRow rows in gvcntct.Rows)
            {
                CheckBox ChkBoxRows = (CheckBox)rows.FindControl("chkEmp");
                ChkBoxHeader.Checked = false;
                ChkBoxRows.Checked = false;
                TextBox2.Text = TextBox2.Text
                                   .Replace(string.Format(", {0}", ID), "")
                                   .Replace(string.Format("{0}", ID), "");
            }
        }
        else
        {
            TextBox2.Text = string.Empty;
            int index = 0;
            foreach (string s in Ids)
            {
                if (!s.Equals(","))
                {
                    TextBox2.Text += string.Format("{0},", Ids[index]);
                }

                index++;
            }
            if (TextBox2.Text.Contains(","))
            {
                TextBox2.Text = TextBox2.Text.Replace(string.Format(", {0}", ID), "");
            }
        }
    }
    else
    {
        TextBox2.Text = ID;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM