2014-10-16 2 views
1

Я пытаюсь скрыть столбец Telerik RadGrid Edit, пока пользователь не нажмет на строку, которую пользователь хочет отредактировать. При событии клика мне нужен столбец «Редактировать гиперссылку», установленный на Visible="true". Я надеялся установить столбец как Visible="false" по умолчанию, а затем добавить событие click на моей странице .cs, чтобы изменить свойство видимости, но я не могу понять, как настроить таргетинг на столбец редактирования ... Вот мой код для. aspx страница.Необходимая базовая инструкция. C# ASP.Net Hiding Edit RadGridView

<telerik:RadGrid ID="RG_POI" runat="server" OnPreRender="RG_POI_PreRender" OnItemDataBound="RG_POI_ItemDataBound" > 
    <MasterTableView EditMode="InPlace" > 
     <Columns> 
      <telerik:GridEditCommandColumn Visible="false"/> 
     </Columns> 
     <EditFormSettings> 
      <EditColumn FilterControlAltText="Filter EditCommandColumn1 column" UniqueName="EditCommandColumn1"> 
      </EditColumn> 
     </EditFormSettings> 
    </MasterTableView> 
+0

Как классический ASP отношение Вот? – DanM7

+0

Голые в виду; Я новичок в области программирования. Вы говорите, что ASP нет в этом коде? Какой язык я использую? – CAnderson20

+0

Они сильно отличаются. Добро пожаловать в программирование! Ознакомьтесь с этим разделом для получения дополнительной информации: http://en.wikipedia.org/wiki/ASP.NET#ASP.NET_compared_with_classic_ASP – DanM7

ответ

0

Вы можете сделать это с помощью C# или JavaScript. Если вы используете C#, вы можете удалить OnRowSelected="gridSelected" из определения сетки ниже; если вы используете JavaScript, то удалите OnSelectedIndexChanged="rgTest_SelectedIndexChanged":

ASPX:

<telerik:RadGrid ID="RG_POI" ... OnSelectedIndexChanged="rgTest_SelectedIndexChanged"> 
    <ClientSettings ... > 
     <ClientEvents OnGridCreated="gridCreated" OnRowSelected="gridSelected" /> 
    </ClientSettings> 
    <MasterTableView ... > 
     <Columns> 
      <telerik:GridEditCommandColumn UniqueName="Edit" /> 
      ... 

Вариант 1) C#:

protected void rgTest_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    RG_POI.Columns[1].Visible = true; 
} 

Вариант 2) JavaScript:

function gridCreated(menu, args) { 
    var radGrid = $find('RG_POI'); 
    var table = radGrid.get_masterTableView(); 
    table.shideColumn(1); 
} 

function gridSelected(menu, args) { 
    var radGrid = $find('RG_POI'); 
    var table = radGrid.get_masterTableView(); 
    table.showColumn(1); 
} 
+0

Это не сработало для меня. Я не получаю никаких ошибок, но в то же время событие IndexChanged не делает заметки Edit Column. :/Мне может понадобиться кнопка для этого? – CAnderson20

+0

Нет, вам не нужна другая кнопка. Любое из этих решений должно работать. Если вы пройдете маршрут C#, можете ли вы отладить обработку событий и убедиться, что событие запущено? Каковы свойства видимости для всех столбцов? Является ли «1» неправильным индексом в вашей сетке? – DanM7