PDA

View Full Version : سوال درباره استفاده از لینک درون گریدویو



liliyan87
جمعه 04 دی 1388, 18:13 عصر
با سلام خدمت اعضای محترم
من توی یه صفحه از دو گرید ویو استفاده میکنم و هردو بهم متصل هستن یعنی با انتخاب یک سطر از گرید اول اطلاعات گرید دوم نمایش داده میشوند. میخوام به جای انتخاب سطر گرید اول درون اون از LinkButton استفاده به این صورت که با کیلیک روی هر کدوم از لینک ها گرید دوم بایند بشه و اطلاعات مربوط به اون سطر رو نشون بده البته توی همون صفحه باید چیکار کنم؟
قبلش هم امتحان کردم ولی جواب نگرفتم . لطفا منو راهنمایی کنید میسی

raziee
شنبه 05 دی 1388, 15:20 عصر
این سوال بار ها پرسیده شده.
شما ID اون رکورد رو میدید به لینک باتننتون و در کلیک اون گرید دومتون رو بایند میکند.
جستجو کنید نمونه ها رو خواهید دید.

liliyan87
یک شنبه 06 دی 1388, 17:51 عصر
این سوال بار ها پرسیده شده.
شما ID اون رکورد رو میدید به لینک باتننتون و در کلیک اون گرید دومتون رو بایند میکند.
جستجو کنید نمونه ها رو خواهید دید.

من قبلا این کارو انجام دادم چون نتیجه نگرتم اینجا سوال پرسیدم
این مربوط به لینک درون گرید اول هستش

Eval("NameGroup")
اینم مربوط به رویداد کیلیک باتن :

GridView2.DataBind();

ولی چیزی برام بایند نمیکنه کار دیگه هست که باید انجام بدم؟

liliyan87
سه شنبه 08 دی 1388, 08:29 صبح
یعنی هیچکی پیدا نمیشه بتونه منو راهنمایی بکنه ؟
وقتی از لینک باتن استفاده نمیکنم و از همیون select درون گرید اولم استفاده میکنم با Select گرید 1 ، گرید دومم بایند میشه ولی وقتی از لینک باتن استفاده میکنم نمیتونه بایند کنه ؟!!!! لطفا راهنمایی رو از من دریغ نکنید من منتظرم

raziee
سه شنبه 08 دی 1388, 12:38 عصر
راضییه خانوم من قبلا این کارو انجام دادم چون نتیجه نگرتم اینجا سوال پرسیدم

البته من اسمم حسین هست و فامیلیم رضیئی:لبخندساده:
سورستون رو اینجا بگذارید تا ببینیم مشکل کجاست.
وگرنه تئوری همینه.

liliyan87
جمعه 11 دی 1388, 12:33 عصر
عذر میخوام جناب raziee تصحیحش کردم .
این مربوط به گرید اول هستش که ستون هاش لینک دارن و قراره با کیلیک روی لینک هاش گرید بعدی بایند بشه که نمیشه:

<asp:TemplateField HeaderText="نام گروه">
<ItemTemplate>

<asp:LinkButton ID="LinkButton1" runat="server" onclick="LinkButton1_Click"
Text='<%# Eval("NameGroup") %>' ondatabinding="LinkButton1_Click"></asp:LinkButton>

</ItemTemplate>
</asp:TemplateField>

اینم مربوط به گرید دوم هستش


<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT PKcodeProduct, NameProduct, PriceProduct, MakerCo, MakerCountry, DateMake, FKcodeGrop, Dateil, ImageProduct FROM tblProduct WHERE (FKcodeGrop = @FKcodeGrop) ORDER BY DateMake">
<SelectParameters>
<asp:ControlParameter ControlID="GridView1" Name="FKcodeGrop"
PropertyName="SelectedValue" />
</SelectParameters>
</asp:SqlDataSource>
منتظرم مرسی.

raziee
جمعه 11 دی 1388, 13:04 عصر
<asp:LinkButton ID="LinkButton1" runat="server" onclick="LinkButton1_Click"
Text='<%# Eval("NameGroup") %>' ondatabinding="LinkButton1_Click"></
در این تگ مقدار NameGroup رو به CommandArgument نسبت بدید و در رویداد Command این CommandArgument رو بخونید و جدول دوم رو بایند کنید.

liliyan87
دوشنبه 14 دی 1388, 19:15 عصر
در رویداد Command این CommandArgument رو بخونید و جدول دوم رو بایند کنید.

مرسی اگه ممکنه این قسمت و با یه مثال نشون بدین متوجه این قسمت نشدم.

raziee
سه شنبه 15 دی 1388, 11:15 صبح
مرسی اگه ممکنه این قسمت و با یه مثال نشون بدین متوجه این قسمت نشدم.
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="UserID" DataSourceID="SqlDataSource1">
<Columns>
<asp:TemplateField>
<ItemTemplate>
نام :<asp:Label ID="lblName" runat="server" Text='<%# Eval("Name") %>'></asp:Label>
<br />
نام خانوادگی :
<asp:Label ID="lblFamily" runat="server" Text='<%# Eval("Family") %>'></asp:Label>
<br />
<asp:LinkButton ID="LinkButton1" runat="server"
CommandArgument='<%# Eval("UserID") %>' oncommand="LinkButton1_Command">LinkButton</asp:LinkButton>
<br />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
protected void LinkButton1_Command(object sender, CommandEventArgs e)
{
int userID = int.Parse(e.CommandArgument.ToString());
// از طریقی که به گرید وصل شدی یوزر آی دی رو به صورت پارامتر ارسال میکنی.

GridView2.DataBind();
}

liliyan87
سه شنبه 15 دی 1388, 23:24 عصر
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="UserID" DataSourceID="SqlDataSource1">
<Columns>
<asp:TemplateField>
<ItemTemplate>
نام :<asp:Label ID="lblName" runat="server" Text='<%# Eval("Name") %>'></asp:Label>
<br />
نام خانوادگی :
<asp:Label ID="lblFamily" runat="server" Text='<%# Eval("Family") %>'></asp:Label>
<br />
<asp:LinkButton ID="LinkButton1" runat="server"
CommandArgument='<%# Eval("UserID") %>' oncommand="LinkButton1_Command">LinkButton</asp:LinkButton>
<br />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
protected void LinkButton1_Command(object sender, CommandEventArgs e)
{
int userID = int.Parse(e.CommandArgument.ToString());
// از طریقی که به گرید وصل شدی یوزر آی دی رو به صورت پارامتر ارسال میکنی.

GridView2.DataBind();
}

گرید ویوی من با sqlDataSourse بایند میشن و این کار و انجام دادم
که این خطا رو میده البته FormatException زیر ایجاد میشه :اشتباه:

Input string was not in a correct format


protected void LinkButton1_Command(object sender, CommandEventArgs e)
{

int pkcodeGroup = int.Parse(e.CommandArgument.ToString());
SqlDataSource2.SelectCommand = "SELECT PKcodeProduct, NameProduct, PriceProduct, MakerCo, MakerCountry, DateMake, FKcodeGrop, Dateil, ImageProduct FROM tblProduct WHERE (FKcodeGrop = '" + pkcodeGroup + "') ORDER BY DateMake";
GridView2.DataBind();
}
:متفکر:

liliyan87
یک شنبه 20 دی 1388, 00:31 صبح
لطفا اگه کسی تا به حال از یه همچین کاری تو پروژه اش انجام داده یعنی به کار بردن لینک به من هم یاد بده حالا از هر تکنیک یا هر روشی باشه فرقی نداره برام فقط میخوام این روشو یاد بگیرم