2016-01-11 4 views
0

Я написал код в приложении ASP.NET, какприлагая текст из GridView и сортировать их

protected void chkbox_CheckedChanged(object sender, EventArgs e) 
    { 
     CheckBox chkbox = sender as CheckBox; 
     GridViewRow currentRow = chkbox.NamingContainer as GridViewRow; 
     Label lblJurisdiction = grdView.Rows[currentRow.RowIndex].FindControl("lblJurisdiction") as Label; 
     RequiredFieldValidator rfv = grdView.Rows[currentRow.RowIndex].FindControl("ValReqED") as RequiredFieldValidator; 
     RequiredFieldValidator rfvExpD = grdView.Rows[currentRow.RowIndex].FindControl("ValReqExpD") as RequiredFieldValidator; 
     RequiredFieldValidator rfvLN = grdView.Rows[currentRow.RowIndex].FindControl("ValReqLN") as RequiredFieldValidator; 
     if (!chkbox.Checked) 
     { 
      rfv.Enabled = false; 
      rfvExpD.Enabled = false; 
      rfvLN.Enabled = false; 
      string JurisdictionRemoved = lblJurisdiction.Text + ","; 
      string Jurisdiction = txtJurisdiction.Text; 
      string ReplacedJurisdiction = Jurisdiction.Replace(JurisdictionRemoved, ""); 
      txtJurisdiction.Text = ReplacedJurisdiction; 
     } 
     else 
     { 
      string Jurisdiction = txtJurisdiction.Text; 
      txtJurisdiction.Text = Jurisdiction + "," + lblJurisdiction.Text.ToString(); 
     } 
    }   

Обратите внимание, что строка Юрисдикции содержат множество юрисдикций как

 Delaware,Georgia,Illinois,Kansas,Maine 

И строку JurisdictionRemoved содержит только один (например, если пользователь снял флажок)

Georgia 

Тогда txtJurisdicton должен содержать

 Delaware,Illinois,Kansas,Maine 

, если строка содержит JurisdictionRemoved «Мэн», то выше код работает оленья кожа, он не удаляется.

Теперь я хочу, чтобы всякий раз, когда пользователь снимет флажок, чтобы Jurisdiction был удален из текстового поля txtJurisdiction, и всякий раз, когда пользователь будет проверять флажок, соответствующая юрисдикция должна быть добавлена ​​к txtJurisdiction. Предположим, что пользователь проверил «Грузия» снова то текстовое поле должно содержать

 Delaware,Georgia,Illinois,Kansas,Maine 

Приведенный выше код не работает, как это. Также я хочу, чтобы он добавлял проверенную юрисдикцию в текстовое поле в алфавитном порядке и должен исключать избыточное состояние. Пожалуйста, помогите мне!!!

ответ

0

Чтобы преодолеть эту проблему, вы можете сделать, как этот

  1. раздельным аферист список разделенных на массив, используя split функцию
  2. Удалите текст из массива используя условие
  3. Пользователь String.Join метод для создания новой строки ,
  4. Назначьте это значение в текстовое поле.

Пример

List<String> Items = Jurisdiction.Split(","); 
Items.Remove(lblJurisdiction.Text); 
string NewX = String.Join(",", Items.ToArray()); 
+0

может у предоставить полную версию кода ... –

+0

@ user2179026 Вы можете увидеть мои обновления. –