Zmiana kolejności wyświetlanych kolumn w Blazor - własny projekt

0

Cześć,
Chcę zrobić własny component w blazor, który wyświetli dane w tabeli, gdzie będzie sortowanie, wyszukiwanie etc. Z tym raczej nie powinno być problemu.

Chciałbym jednak dodać również opcję zmiany kolejności wyświetlania kolumn, gdy użytkownik chwyci nazwę kolumny (nagłówek) i przeciągnie ją za lub przed inną kolumnę - tak jak jest np. w tej bibliotece: https://demos.devexpress.com/blazor/BindGridtoData

Czy może mnie ktoś nakierować w jaki sposób mogę osiągnąć taki efekt?
Z góry dziękuję za pomoc.

1

Pytanie tylko po co? W sensie, że potrzebne to ci jest do projektu? Chcesz zrobić swój component, aby go później udostępnić? Robisz to dla nauki? Wydaje mi się, że jesteś w złym miejscu, ponieważ tutaj nikt tego za ciebie nie napiszę. Po drugie, nakierować w jakim zakresie? Próbowałeś coś sam? Pokaż. Po trzecie IvanJosipovic/BlazorTable

1

draggable="true" I eventy ongrab i ondrop - chyba te dwa, już nie pamiętam dokładnie.
https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API

0

@AdamWox Nie prosiłem o gotowe rozwiązanie tylko o nakierowanie.
Jakiego kodu się spodziewałeś, jeśli ja nie wiedziałem nawet o takiej opcji jak wspomniana draggable="true" - dopiero się uczę, dlatego prosiłem o "nakierowanie" a nie o gotowca.

Nie wiem jakie znaczenie ma to w jakim celu chcę to osiągnąć, ale jeśli to dla Ciebie takie ważne to głównie chcę to napisać samodzielnie w celach edukacyjnych a jednocześnie chcę to wykorzystać w swoim domowym projekcie (nie chcę korzystać z gotowców, bo chcę dokładnie wiedzieć jak to działa i chcę to zrobić po swojemu).
Tak swoją drogą to ja nie zajmuję się zawodowo programowaniem (jestem księgowym), programowaniem zajmuję się hobbistycznie po godzinach, więc wybacz, że nie znam tych wszystkich html-owych i C#-arpowych feature'ów...

Niezależnie od tego dziękuję za pomoc zarówno Tobie jak również, a raczej przede wszystkim, @Ales 'owi :)

0

@Kofcio:
Z przyjemnością sprostuje.
Forum nie jest tylko od nakierowania jak jakiś problem rozwiązać. Jednym z dodatkowych zadań może być próba wytłumaczenia, że rozwiązywanie takiego problemu jest stratą czasu. Rozłóżmy twoje "uczenie się" na części pierwsze i spróbujmy wyciągnąć, w którym miejscu jest ta strata czasu.

  1. Piszesz z zapytaniem jak zrobić reorder kolumn (można też Google zapytać). Dostajesz odpowiedź od @Ales i w jaki sposób ciebie to nakierowało na rozwiązanie? W tym momencie przejdziesz na Google i zaczniesz szukać na temat draggable i o eventach w JS, co nie ma nic wspólnego z Blazor.
  2. Chcesz to do nauki. Bardzo ambitnie. Czego cię to nauczy? Co ci da zrozumienie jak to działa? Czy projekt na github jaki ci wysłałem nie wytłumaczy ci jak to działa? Piszesz, że chcesz to zrobić po swojemu. Obawiam się, że reorder kolumn ma jeden sposób i jeden efekt końcowy. Możesz wrócić do tego wątku jak skończysz ten projekt i przesłać jakiś link, filmik i pokazać mi co ci wyszło? Obstawiam, że po tygodniu zwątpisz.

Na tym forum nie zaleca się wymyślania koła na nowo. Dowiedziałem się o tym na własnej skórze i próbuje przekazać to dalej. Moim zdaniem to jest strata twojego czasu ale może się to brać z tego, że ja nie rozumiem ambicji i chęci posiadania wiedzy o wszystkim, z której nikt nie będzie mnie egzekwował. Wyobrażasz sobie rozmowę kwalifikacyjną, na której twoim atutem będzie mistrzowskie władanie rozwiązaniami na temat zmiany kolejności kolumn w tabeli? 😉

1
AdamWox napisał(a):
  1. Piszesz z zapytaniem jak zrobić reorder kolumn (można też Google zapytać). Dostajesz odpowiedź od @Ales i w jaki sposób ciebie to nakierowało na rozwiązanie? W tym momencie przejdziesz na Google i zaczniesz szukać na temat draggable i o eventach w JS, co nie ma nic wspólnego z Blazor.

Widać, że nigdy nie używałeś Blazora. A eventy, o których wspomniałem są częścią HTML nie JS. Nawiasem mówiąc JS ma dużo wspólnego z Blazorem 😉

Nauka w postaci "zrób to sam" jest o wiele bardziej efektywna niż czytanie cudzego kodu.

0

Czyli chcesz powiedzieć, że tracisz czas na robienie czegoś co jest już zrobione kilka razy w różnych technologiach tylko po to żeby to zrozumieć jak działa, a nie po to żeby rozwiązać problem i przejść na kolejny etap w projekcie? To faktycznie chyba jest tylko moje podejście, że mnie nie obchodzi jak coś działa, a ważne, że działa. Czy to tylko dla mnie strata czasu jeśli coś jest już gotowe?

1

Jeśli coś jest już opracowane i dobrze działa to warto z tego korzystać. Blazor jest dosyć nowa technologią, więc nie wszystko jest dostępne. W moim przypadku była to tabela przestawna. Wolę poświęcić te parę godzin, żeby napisać swoją kontrolkę niż płacić 1000$/rok.

Kofcio chce się czegoś nauczyć, w tym przypadku implementacji mniej popularnych eventów HTML. Czemu miałby tego nie robić? Czy to będzie stracony czas? Rozwiązanie problemów, z którymi się spotka na pewno pomogą mu w dalszej pracy z Blazorem

0
AdamWox napisał(a):

Czyli chcesz powiedzieć, że tracisz czas na robienie czegoś co jest już zrobione kilka razy w różnych technologiach tylko po to żeby to zrozumieć jak działa, a nie po to żeby rozwiązać problem i przejść na kolejny etap w projekcie?

Dokładnie tak! Lepiej bym tego nie ujął :) z takim zastrzeżeniem, że ja chcę rozwiązać problem, tylko po swojemu i chcę przejść na kolejny etap, ale na spokojnie, jak już opanuję podstawy. Mi naprawdę nigdzie się aż tak bardzo nie śpieszy.

Tak swoją drogą byłem przekonany, że programiści w większości właśnie chcą rozumieć jak coś działa (pod spodem) i są dociekliwi a nie zajmują się bezmyślnym klepaniem (a raczej kopiowaniem) kodu licząc, że któraś przypadkowo znaleziona biblioteka w necie w końcu zadziała - tak jak tego oczekuje klient.

1 użytkowników online, w tym zalogowanych: 0, gości: 1