2

ここに画像の説明を入力

私はこのグリッドビューを持っており、ユーザーがチェックした列の MMBR_PROM_ID を出力しようとしています。

(デフォルト.apsx)

Welcome to ASP.NET!

    </h2>

            <div style="width: 700px; height: 370px; overflow: auto; float: left;">
                <asp:GridView ID="GridView1" runat="server" HeaderStyle-CssClass="headerValue" 
                    onselectedindexchanged="GridView1_SelectedIndexChanged">
                <Columns>
                <asp:TemplateField HeaderText="Generate">
                    <ItemTemplate>
                        <asp:CheckBox ID="grdViewCheck" runat="server" />
                    </ItemTemplate>
                </asp:TemplateField>
                </Columns>
                </asp:GridView>
                </div>

<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Generate" />

</asp:Content>  

(既定の.aspx.cs)

  protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            FrontOffEntities tmpdb = new FrontOffEntities();

            List<MMBR_PROM> newListMMBR_Prom = tmpdb.MMBR_PROM.ToList();


            GridView1.DataSource = newListMMBR_Prom;
            GridView1.DataBind();
        }

    }  

したがって、私の目標は、生成を押したときに、ユーザーがチェックしたすべての MMBR_PROM_ID を文字列として出力できるようにすることです。私はaspnetにちょっと慣れていないので、構文に対処するのに苦労しています

4

1 に答える 1

2

上記の要件に従って、以下のコードを試して、生成ボタンのクリック時にGridview1からMMBR_PROM_IDの値を取得できます。

     //For every row in the grid
     foreach (GridViewRow r in GridView1.Rows)
        {
            //Find the checkbox in the current row being pointed named as grdViewCheck
            CheckBox chk = (CheckBox)r.FindControl("grdViewCheck");

            //Print the value in the reponse for the cells[1] which is MMBR_PROM_ID
            if (chk!=null && chk.Checked)
            {
                Response.Write(r.Cells[1].Text);
            }
        }

ここで、cells[1] は特定の行のセル インデックスを指します。この場合は、印刷するMMBR_PROM_IDです。お役に立てれば!

MMBR_PROM_IDのコンマ区切り値を探している場合は、以下のコードが機能します。

     //Declaration of string variable 
     string str="";

     //For every row in the grid
     foreach (GridViewRow r in GridView1.Rows)
        {
            //Find the checkbox in the current row being pointed named as grdViewCheck
            CheckBox chk = (CheckBox)r.FindControl("grdViewCheck");

            //Print the value in the reponse for the cells[1] which is MMBR_PROM_ID
            if (chk!=null && chk.Checked)
            {
                Response.Write(r.Cells[1].Text);
                //appending the text in the string variable with a comma
                str = str + r.Cells[1].Text + ", ";
            }
        }
      //Printing the comma seperated value for cells[1] which is MMBR_PROM_ID
      Response.Write(str);
于 2013-03-13T03:04:58.403 に答える