Pergunta

Quando o modo de exibição GANTT está sendo usado, como poderia redimensionar as colunas utilizando o jQuery e o plugin gerado controlid (como neste exemplo)?Estou procurando uma forma de fazer isso em um re-utilizável função javascript.

Eu estou pensando em ser capaz de encontrar um controle que tem ListViewWebPartJSGrid em sua identificação.É possível que não seria mais do que uma página, mas que iria trabalhar para fora.

[atualização]

Ok, eu descobri como obter o id de controlo (você pode ver a mudança de cor):

var $trackingGridID = $("[id$=_ListViewWebPartJSGrid_leftpane_mainTable]").attr("id");
$('#' + trackingGridID).css("background-color", "blue");

//this will fetch:  ctl00_ctl21_g_c3e5fead_d466_4448_9648_dcb92778921d_ListViewWebPartJSGrid_leftpane_mainTable

Agora que eu tenho o ID, é uma questão de descobrir como modificar as larguras de coluna...

Mas eu quero fazer algo parecido com isso:

function SetColumnWidths(column1, column2, column3)...
Foi útil?

Solução

Ah, tem isso.

Primeiro, buscar a dinâmica controlid.Para os nossos propósitos, não-dinâmico parte do que é _ListViewWebPartJSGrid_leftpane_mainTable, então vamos jQuery.

var $trackingGridID = $("[id$=_ListViewWebPartJSGrid_leftpane_mainTable]").attr("id");
$('#' + trackingGridID).css("background-color", "blue");

//isto irá buscar:ctl00_ctl21_g_c3e5fead_d466_4448_9648_dcb92778921d_listviewwebpartjsgrid_leftpane_maintable


Buscar a Coluna de índice (para alterar a cor, você tem que modificar as várias a propriedades)

var thiscolumn = $('#' + trackingGridID + " th[role='columnheader']:eq(0)");    
$(thiscolumn).css("width", "400");

Buscar uma linha pelo índice:

var thisrow = $('#' + trackingGridID).find("tr:eq(2)"); 
$(thisrow).css("background-color", "blue");

Buscar uma célula específica por índice:

var thiscell = $('#' + trackingGridID).find("td:eq(6)");
$(thiscell).css("background-color", "yellow");

É claro que, para alterar a largura, basta adicionar este vars:

.css("width", "400");

A Função

SetGanntColumnWidth(0, 400)  //set the first column's width
SetGanntColumnWidth(2, 350)  //set the third column's width

//The third parameter is optional in case the idpart changes
function SetGanntColumnWidth(whatcolumn, whatwidth, whatidpart){
    if(!whatidpart)
        whatidpart = "_ListViewWebPartJSGrid_leftpane_mainTable";
    var thisid = $("[id$=" + whatidpart + "]").attr("id");
    var thiscolumn = $('#' + thisid + " th[role='columnheader']:eq(" + whatcolumn + ")");

    $(thiscolumn).css("width", whatwidth);
    $(thiscolumn).children().css("width", whatwidth);   
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top