PDA

View Full Version : سوال: لود شدن زیرمجموعه های مرتبط با یک مجموعه



ahmadhasani
یک شنبه 30 تیر 1392, 14:03 عصر
سلام. من مشغول طراحی یه سایت برای فروش کفش هستم. تو این پروژه برای هر محصول ، یک مجموعه (مثلآ کفش ورزشی) و یک زیرمجموعه مرتبط (مثلآ فوتبالی) در نظر گرفته شده که آخرش میشه «کفش فوتبالی نایک». حالا مشکل اینه که توی ویرایش مطلب ، مجموعه ها رو درست لیست میکنه و اونی که کاربر انتخاب کرده رو هم سلکت می کنه ، اما زیرمجموعه های مرتبط رو فقط لیست می کنه و اونی که کاربر توی دیتابیس انتخاب کرده رو سلکت نمیکنه و پیشفرضش اولین زیرمجموعه هست. مثلآ اگه زیرمجموعه های کفش کفش ورزشی ، فوتبالی و بسکتبالی باشه و کاربر بسکتبالی رو برای یک کفش انتخاب کرده باشه ، توی ویرایش محصول ، اولین گزینه رو میاره (یعنی فوتبالی)
این کدهای مربوط به لود اسامی مجموعه ها در دراپ دان لیست:

<asp:DropDownList ID="ddlColls" runat="server" DataSourceID="dsColls" CssClass="ddl"
DataTextField="CollFaName" DataValueField="CollID" AutoPostBack="True">
</asp:DropDownList>
<asp:SqlDataSource ID="dsColls" runat="server"
ConnectionString="<%$ ConnectionStrings:ShoesConnectionString %>"
SelectCommand="SELECT * FROM [Colls]"></asp:SqlDataSource>

اینم کدهای مربوط به لود اسامی زیرمجموعه ها در دراپ دان لیست دومی براساس دراپ دان اولی:

<asp:DropDownList ID="ddlSubColls" runat="server" DataSourceID="dsSubColls" CssClass="ddl"
DataTextField="SubCollFaName" DataValueField="SubCollID">
</asp:DropDownList>
<asp:SqlDataSource ID="dsSubColls" runat="server"
ConnectionString="<%$ ConnectionStrings:ShoesConnectionString %>"
SelectCommand="SELECT * FROM [SubColls] Where [SubColl_CollID] = @CollID">
<SelectParameters>
<asp:ControlParameter Name="CollID" ControlID="ddlColls" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>

اینم کدهای گرید ویو مربوط به فراخوانی انتخاب کاربر از دیتابیس (کدبیهایند):

protected void grdListShoes_RowCommand(object sender, GridViewCommandEventArgs e)
{
switch (e.CommandName)
{
case "DoEdit":
{
mvShoes.SetActiveView(vwEdit);
int shoeid = Convert.ToInt32(e.CommandArgument);

Sho shoes = (from p in db.Shoes
where p.ShoeID == shoeid
select p).FirstOrDefault();

if (shoes != null)
{
ddlColls.SelectedValue = shoes.Shoe_CollID.ToString();
ddlSubColls.SelectedValue = shoes.Shoe_SubCollID.ToString();
txtSize.Text = shoes.ShoeSize;
txtFaName.Text = shoes.ShoeFaName;
txtEnName.Text = shoes.ShoeEnName;
txtRuName.Text = shoes.ShoeRuName;
txtFaPrice.Text = shoes.ShoeFaPrice;
txtEnPrice.Text = shoes.ShoeEnPrice;

}

break;
}

واقعآ نمیدونم مشکل چیه که زیرمجموعه درست رو لود نمیکنه! :اشتباه:

parvizwpf
یک شنبه 30 تیر 1392, 15:22 عصر
مطمئنید که مقادیری که قراره بعنوان پارامتر به کوئری گرید داده بشه صحیح میاد؟ احتمالا یه جایی تغییر میکنه مقدار پارامتر. آیا مقدار shoeid صحیحه اون چیزی که شما میخواید؟

ahmadhasani
یک شنبه 30 تیر 1392, 15:42 عصر
صحیحه. حتی درست هم لود می کنه. یعنی گروه مجموعه و زیرمجموعه ای که کاربر انتخاب کرده رو لود میکنه ، اما اون زیرمجموعه ای که کاربر توی دیتابیس انتخاب کرده رو لود نمیکنه

parvizwpf
یک شنبه 30 تیر 1392, 15:59 عصر
میشه بگید دقیقا اون کدی که باید این کارو انجام بده کجاست؟ پارامترش کدوم من دار اینو میگم منظورم اینه دقیقا اونجا احتمالا داره مقدار پارامتر اشتباه میره.پارماترها رو با بریک پوینت چک کنید.

ahmadhasani
یک شنبه 30 تیر 1392, 16:08 عصر
اونم چک کردم. بریک پوینت که میگیری ، مقدار زیرمجموعه رو از دیتابیس می خوانه ، اما نمیتونه توی دراپ دان لود کنه

parvizwpf
یک شنبه 30 تیر 1392, 16:18 عصر
مقدار زیرمجموعه رو از دیتابیس می خوانه ، اما نمیتونه توی دراپ دان لود کنه

یعنی میاره ولی نمیتونه خطوط 16 و 17 رو درست انجام بده؟
یعنی نمیتونه توی دراپ دان نظیری براش پیدا کنه؟

ahmadhasani
یک شنبه 30 تیر 1392, 16:29 عصر
بریک رو توی گرید ویو گذاشتم. مقادیر خطوط 16 و 17 رو برمیگردونه ، یعنی میدونه که CollID این کالا 1 هست و SubCollID هم 6 ، اما توی دراپ دان ، نمیاره. یعنی خط 16 مشکلی نیست ، 17 رو نمیخونه

ahmadhasani
یک شنبه 30 تیر 1392, 16:37 عصر
الان که CollID محصولم 4 و SubCollID اش هم 10 بود ، توی بریک این پیغام خطا رو داد:
107663
و توی صفحه هم این پیغام خطا رو نمایش داد:
107664

parvizwpf
یک شنبه 30 تیر 1392, 16:37 عصر
آخه اینجا چند تا بحثه : تو اون کومبو آیا چیزی هست؟ آیا همچنین value ای داره؟ میتونید یه عکس از وضیعت اون کامبو هنگام اجرابزارید البته منظورم سمت ویژوال هست تا ببینیم داخلش چیه گزینه هاش چیه با بریک پوینت.خب این عکس هم همون حرفه منو میزنه. همچین ولیو ای نداره. اون عکی که گفتم بزار.

ahmadhasani
یک شنبه 30 تیر 1392, 16:39 عصر
تو پست قبلی گذاشتم

parvizwpf
یک شنبه 30 تیر 1392, 16:43 عصر
میدونم ولی بازم احساس نمیکنی همچین ولیو ای نداره؟

ahmadhasani
یک شنبه 30 تیر 1392, 16:48 عصر
خب مشکل اینه که نمیدونم مشکل از کجاست! دیتا سورسا که ظاهرآ مشکلی نداره

ahmadhasani
یک شنبه 30 تیر 1392, 17:05 عصر
نظری ندارید؟

parvizwpf
یک شنبه 30 تیر 1392, 17:11 عصر
نه همون جاها دنبالش بگردید چون دارید اروری میگیرید که میگه من ولیو ای به این نام پیدا نمیکنم . ببینید آیا توی دراپ دان اون ولیو هست؟

ahmadhasani
یک شنبه 30 تیر 1392, 17:15 عصر
دیتا سورسا رو دیدین؟ به نظرتون مشکل داره؟

parvizwpf
یک شنبه 30 تیر 1392, 17:23 عصر
وقتی دارید میگید اطلاعات رو توی دراپ دان میریزه یعنی دیتا سورس مشکل نداره شما برید روس خط 17 بریک بزارید بعد برید ببینید توی دراپ دان چیه آیا ولیوی که میخواید اون تو هست؟ تموم.