当前位置:编程学习 > C#/ASP.NET >>

如何计算datagridview中的选中的行数??

我的意思是想把gridview中的选中的记录,插入到另外一个数据库中!!
但是现在我连计算gridview中的选中的行数都计算不出来
老师们看看这样计算行数对吗

private void button3_Click(object sender, EventArgs e)

        {

            int b = dataGridView1.Rows.Count;


            int x = 0;
            for (int i = 1; i < b; i++)
            {
                if (Convert.ToBoolean(dataGridView1.Rows[i].Cells[0].Value.ToString()) == true)
                x = x + 1;

            }
            MessageBox.Show(x.ToString ());
        }

我在gridview中添加了一个未绑定的列 类型为:CheckboxColumn 
--------------------编程问答--------------------
<asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:CheckBox id="CheckBox1" runat="server"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="id" HeaderText="id"></asp:BoundColumn>
</Columns>
</asp:DataGrid>


int b = dataGridView1.Rows.Count; 
ArrayList al;
for (int i = 1; i < b; i++) 

CheckBox cb = DataGrid1.Items[i].Cells[0].FindControl("CheckBox1") as CheckBox;
if (cb.Checked) 
{
al.Add(DataGrid1.Items[i].Cells[1].Text);//记录id,方便构造insert语句
}

--------------------编程问答-------------------- i应该从0开始,再则如果dgv最后一行是空行的话,i < b 应是i < b-1
 for (int i = 0; i < b; i++)
            { 
                if ((bool)dataGridView1.Rows[i].Cells[0].Value) 
                x++; 
            } 
--------------------编程问答-------------------- 遍历GridView.Rows对象,然后检查IsChecked属性。 --------------------编程问答--------------------  private void button3_Click(object sender, EventArgs e)

        {

            int b = dataGridView1.Rows.Count;


            int x = 0;
            for (int i = 0; i < b-1; i++)
            {
                if ((bool)(dataGridView1.Rows [i].Cells [0].Value)) 这一句 提示未将对象应用到实例  (大体意思)
                x = x + 1;

            }
            MessageBox.Show(x.ToString ());
        }


这样不对。
提示未将对象应用到实例  (大体意思)


--------------------编程问答-------------------- 关注!~~ --------------------编程问答-------------------- 我的是 窗体的 不是 asp 的 --------------------编程问答--------------------
        protected void Button2_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < DataList1.Items.Count; i++)
            {
                CheckBox cbSingle = (CheckBox)DataList1.Items[i].FindControl("CheckBoxSingle");
                if (cbSingle.Checked == true)
                {
                    string ID = DataList1.DataKeys[i].ToString();
                    Response.Write("<br />"+ID);
                }
            }

        }
--------------------编程问答--------------------
引用 1 楼 yfqvip 的回复:
HTML code<asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False">
                <Columns>
                    <asp:TemplateColumn>
                        <ItemTemplate>
                                <asp:CheckBox id="CheckBox1" runat="server"></asp:CheckBox>
                        </ItemTemplate>
                    </asp:TemplateColumn>
                    <asp:Boun…

比较全面了,改一下就能用 --------------------编程问答-------------------- int num=0;
foreach(GridViewRow i in GridView1.SelectedRow)
{
         num++;
} --------------------编程问答-------------------- 都说这么多了我就不多说了。顶
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,