Привет всем .У меня есть Gridview с 3 различными источниками данных (это зависит от выбора в выпадающем списке), который показывает данные из базы данных (поэтому autogeneratecolumns = true).
Я добавляю столбец (на стороне клиента). Если источником данных является '1' (например), с кнопкой НО из-за обратной передачи, каждый раз, когда я выбираю этот источник, он добавляет другую кнопку, и я хочу показать его только вcase '1'.
Я попробовал это решение : если я выбрал '2' или '3', столбец с кнопкой должен быть удален (также потому, что он не должен появляться в этих видах сетки) и если я снова выберу «1», он появится снова.Проблема в том, что он не вводит событие удаления «если кнопка существует» (см. 2-й код ниже)
ButtonField b = new ButtonField();
protected void addButton(){//This is how I show button-column in case'1'
b.Text = "Modifica";
b.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
b.CommandName = "btnMod";
b.ButtonType = ButtonType.Button;
GridView1.Columns.Add(b);}
protected void deleteButton(){//How I try to remouve it but it never=true even if the column with the buttons exists.
if (GridView1.Columns.Contains((ButtonField)b))
{GridView1.Columns.Remove(b);}
protected void Page_Load(object sender, EventArgs e) //Pageload to manage gridview (DropDownList is Autopostback)
{
if (IsPostBack == true)
{
if (drpdwnlist.SelectedValue == "DSPostiocc")
{addButton();}
else
{ deleteButton();}
GridView1.AutoGenerateColumns = true;
GridView1.DataSourceID = drpScelta.SelectedValue;}}
Gif, чтобы лучше понять: https://imgflip.com/gif/34zdo7 (посмотритев раскрывающемся списке)