View Full Version : سوال: استفاده از radiobuttonlist در gridview
  
ironclip
پنج شنبه 15 تیر 1391, 03:19 صبح
با سلام 
من دارم روی یک سایت آزمون آنلاین کار میکنم
این قسمتش رو گیر کردم . روش استفاده از RadioButtonList در گرید
کد قسمت html پروژه :
<asp:GridView ID="grd" runat="server" AutoGenerateColumns="False" 
                            DataKeyNames="id_answer_test" DataSourceID="sds_QAnswer" 
                            onrowcommand="grd_RowCommand">
                            <Columns>
                                <asp:TemplateField HeaderText="گزینه مورد نظر را انتخاب کنید">
                                    <ItemTemplate>
                                        <table cellpadding="0" cellspacing="0" class="style1">
                                            <tr>
                                                <td>
                                                    [<asp:Label ID="lbl6" runat="server" Text="سوال : "></asp:Label>
                                                    <asp:Label ID="lbl7" runat="server" Text='<%# Eval("num") %>'></asp:Label>
                                                    ]
                                                </td>
                                                <td>
                                                    <asp:RadioButtonList ID="rbl1" runat="server" 
                                                        RepeatDirection="Horizontal" AutoPostBack="True">
                                                        <asp:ListItem>الف</asp:ListItem>
                                                        <asp:ListItem>ب</asp:ListItem>
                                                        <asp:ListItem>ج</asp:ListItem>
                                                        <asp:ListItem>د</asp:ListItem>
                                                    </asp:RadioButtonList>
                                                </td>
                                                <td>
                                                </td>
                                            </tr>
                                        </table>
                                    </ItemTemplate>
                                </asp:TemplateField>
                            </Columns>
                        </asp:GridView>
رویداد گردید فکر کنم کدنویسی بشه ؟!
  onrowcommand="grd_RowCommand"
ممنون میشم راهنمایی کنید که چه باید کرد
ironclip
پنج شنبه 15 تیر 1391, 03:44 صبح
http://www.up.vbiran.ir/images/44bzcdmr7huexia6sca9.png
به عکس نگاه کنید . مثلا میخوام سوال هارو پاسخ بدم . که RadioButtonList در داخل گرید هست
اما چطور از RadioButtonList استفاده کنم ؟؟؟؟
ironclip
پنج شنبه 15 تیر 1391, 14:46 عصر
در اینجا هم صحبت کرده ام : http://www.learningweb.ir/showthread.php?492-%D8%B3%D9%88%D8%A7%D9%84-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-radiobuttonlist-%D8%AF%D8%B1-gridview
ironclip
پنج شنبه 15 تیر 1391, 15:39 عصر
از اینم استفاده کردم نمی دونم چرا نمیشه 
    protected void AnswerTest()
    {
        foreach (GridViewRow row in grd.Rows)
        {
            if (row.RowType == DataControlRowType.DataRow)
            {
                RadioButtonList rbl = (RadioButtonList)row.FindControl("rbl1") as RadioButtonList;
                LQwebsiteDataContext db = new LQwebsiteDataContext();
                var query = from T in db.tbl_answer_tests
                            where T.id_exam == Convert.ToInt32(Session["ExamT"].ToString())
                            select T;
                foreach (var r in query)
                {
                    if (rbl.SelectedIndex == 0)
                    {
                        if (1 == r.answer)
                        {
                            ok += 1;
                        }
                        else
                        {
                            no += 0;
                        }
                    }
                    else if (rbl.SelectedIndex == 1)
                    {
                        if (2 == r.answer)
                        {
                            ok += 1;
                        }
                        else
                        {
                            no += 0;
                        }
                    }
                    else if (rbl.SelectedIndex == 2)
                    {
                        if (3 == r.answer)
                        {
                            ok += 1;
                        }
                        else
                        {
                            no += 0;
                        }
                    }
                    else if (rbl.SelectedIndex == 3)
                    {
                        if (4 == r.answer)
                        {
                            ok += 1;
                        }
                        else
                        {
                            no += 0;
                        }
                    }
                }
                lblOK.Text = ok.ToString();
                lblNo.Text = no.ToString();
            }
        }
    }
چکار کنم ؟؟؟
fakhravari
پنج شنبه 15 تیر 1391, 16:16 عصر
<asp:GridView ID="GridView1" runat="server" DataKeyNames="TopicID" AutoGenerateColumns="False"
        ShowHeader="False" BorderStyle="None" GridLines="None" Width="100%" OnRowCommand="GridView1_RowCommand">
        <Columns>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:Button ID="Button1" runat="server" Text="انتخاب" CommandArgument='<%#Eval("TopicID")%>'
                        CommandName="SelectOn" />
                    <asp:RadioButton ID="RadioButton1" runat="server" GroupName="g1" Text='<%#Eval("Date")%>' />
                    <asp:RadioButton ID="RadioButton2" runat="server" GroupName="g1" Text='<%#Eval("Time")%>' />
                    <asp:RadioButton ID="RadioButton3" runat="server" GroupName="g1" Text='<%#Eval("Img")%>' />
                    <asp:RadioButton ID="RadioButton4" runat="server" GroupName="g1" Text='<%#Eval("Atach")%>' />
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>
if (e.CommandName.Equals("SelectOn"))
        {
            GridViewRow row = (GridViewRow)((Button)e.CommandSource).NamingConta iner;
            int ID = int.Parse(e.CommandArgument.ToString());
            string ClickShode = null;
            RadioButton r1 = (RadioButton)row.FindControl("RadioButton1");
            RadioButton r2 = (RadioButton)row.FindControl("RadioButton2");
            RadioButton r3 = (RadioButton)row.FindControl("RadioButton3");
            RadioButton r4 = (RadioButton)row.FindControl("RadioButton4");
            if (r1.Checked)
            {
                ClickShode = r1.Text;
            }
            if (r2.Checked)
            {
                ClickShode = r2.Text;
            }
            if (r3.Checked)
            {
                ClickShode = r3.Text;
            }
            if (r4.Checked)
            {
                ClickShode = r4.Text;
            }
        }
ironclip
پنج شنبه 15 تیر 1391, 17:16 عصر
سلام جناب fakhravari (http://barnamenevis.org/member.php?128926-fakhravari)
ممنون خیلی کمک بزرگی کردی در حق من .
فقط یک سوال شایدم نظر من نصبت به این کدی که دادید
برای این جور آزمون خیلی دشوار هست که هر سوال را جواب بدهد و انتخاب کند
نمیشه یه کاری دیگه ای کرد دیگه دکمه button در گردید نزاریم و هنگام radiobutton را که انتخاب کنیم دستورات اعمال شود ؟؟
اگه به اینصورت انجام بشه خیلی بهتر میشه
fakhravari
پنج شنبه 15 تیر 1391, 17:46 عصر
میتوانید از این الگو بگیرید
http://barnamenevis.org/showthread.php?319991-%D8%AB%D8%A8%D8%AA-%D8%AA%D9%85%D8%A7%D9%85%DB%8C-%D9%86%D9%85%D8%B1%D8%A7%D8%AA-%D8%A8%D8%A7-%DB%8C%DA%A9-%DA%A9%D9%84%DB%8C%DA%A9
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.