[ patak_daca @ 25.02.2015. 12:15 ] @
Pozdrav!!

Da li je moguće uraditi na ovaj način...

Datatables show / hide kolone u zavisnosi od User.IsInRole ?

Hvala!

Patak
[ Shadowed @ 25.02.2015. 12:18 ] @
Jeste.
[ patak_daca @ 25.02.2015. 12:19 ] @
Pozdrav!

Ajde mi molim te pomozi da to rešim...

Hvala!
[ Shadowed @ 25.02.2015. 12:25 ] @
Daj ono sto imas trenutno ili vec primer na koji bi to hteo da dodas. Ovako je suvise uopsteno pitanje.
[ patak_daca @ 25.02.2015. 12:26 ] @
Evo code...


Code:
<table id="tabela_logove">
    <thead>
        <tr>
           
            <th >Datum i vreme logovanja</th>
            <th >Operater</th>
            <th >IP adresa</th>         
                                     
        </tr>
    </thead>
<tbody>

</tbody>
</table>

<script type="text/javascript">


    $(document).ready(function () {

        //$('#tabela_gradovi').dataTable();

       // alert('dosao do ajaxa');

        $('#tabela_logove').dataTable({
            "bServerSide": true,
            "sAjaxSource": "PrikaziLogoveJSON",
           
            
            "info":     false,
            "bProcessing": true,

          
            "bFilter": false,

            "ordering": false,
            
            "bInfo": false,
            "bLengthChange": false,

            "oPaginate": {
                "sFirst": "|<",
                "sPrevious": "<<",
                "sNext": ">>",
                "sLast": ">|"
            },
            
            "aoColumns": [                        

           
            { sName: 'Datum_i_vreme_logovanja', mData: 'Datum_i_vreme_logovanja', sDefaultContent: "" },
            { sName: 'Operater', mData: 'Operater', sDefaultContent: "" },

                        
            { sName: 'IP_adresa', mData: 'IP_adresa', sDefaultContent: "" }
             
            ],            
            "aoColumnDefs": [
      { "sWidth": "40%", "aTargets": [ 0 ] }
    ]


        });        

    });


</script>
[ patak_daca @ 25.02.2015. 14:49 ] @
Poz...

Ako može neki savet...pomoć...
[ Shadowed @ 25.02.2015. 15:03 ] @
Na serverskoj strani za PrikaziLogoveJSON mozes jednostavno proveriti User.IsInRole("...") pa izbaciti kolonu (ili je ni ne dodati, zavisno kako si vec radio).
Na klijentskoj strani, zavisi da li ti je ovo cist html, mvc view.
U prvom slucaju, mozes npr. taj PrikaziLogoveJSON pozvati ranije, pa odatle izvuci kolone i napraviti niz koji ces ubaciti u aoColumns.
Ako je MVC view, mozes jednostavno koristiti if (User.IsInRole("...")) pa u if-u jedan nacin, u else drugi.

[Ovu poruku je menjao Shadowed dana 25.02.2015. u 16:24 GMT+1]
[ patak_daca @ 25.02.2015. 15:22 ] @
Pozdrav!

Ovo je asp.net mvc

Hvala na savetima...
nešto ću smisliti..

Pozdrav!
[ patak_daca @ 25.02.2015. 17:01 ] @
Pozdrav!

Probao sam predloge ali i dalje mi ne ide...

Kako da ne prikažem kolonu <th >IP adresa</th> na osnovu koda koji sam posalo ?

Molim za pomoć...
[ Shadowed @ 25.02.2015. 17:50 ] @
U view-u, umesto <th>IP adresa</th> stavi:
Code:

@if (User.IsInRole("Admins"))
{
    <th >IP adresa</th> 
}
[ patak_daca @ 25.02.2015. 17:52 ] @
Poz..

Taj način sam prvo probao ali kada tako postavim onda prilikom popunjavanja datatables samo stoji "Procesing...."
i "zapuca", ne znam zašto...
[ Shadowed @ 25.02.2015. 19:04 ] @
Isto uradi i za deo { sName: 'IP_adresa', mData: 'IP_adresa', sDefaultContent: "" }
I ono sto sam ti rekao, na serverskoj strani koja daje podatke, gledaj da vratis odgovarajuci broj kolona.

Sad, nisam 100% siguran da nema jos neka zackoljica jer nisam koristio dataTable plugin/widget za JQuery, ali trebalo bi da je to to.
[ patak_daca @ 25.02.2015. 19:13 ] @
Poz..

Čim ubacim If u deo { sName: 'IP_adresa', mData: 'IP_adresa', sDefaultContent: "" }
prijavi grešku, sintaksnu, mislim da ne može nešto da se ubaci u taj deo..
[ Shadowed @ 25.02.2015. 19:35 ] @
Baci pogled na ovo http://stackoverflow.com/quest...ng-code-inside-javascript-bloc
[ patak_daca @ 26.02.2015. 06:20 ] @
Svaka čast Shadowed !

Hvala puno! To je to!

Patak