简体   繁体   English

如何从ASPxGridView获取CheckBox值

[英]How get CheckBox value from ASPxGridView

I've ASPxGridView with data from Data Base. 我有ASPxGridView和来自数据库的数据。 I've add one column with CheckBox yet. 我已经使用CheckBox添加了一列。 And I'm have button with action onClick. 我有操作onClick的按钮。 I'm want when i press button was performed this code 我想要在我按下按钮时执行此代码

GridViewDataColumn dataColumn = ASPxGridView1.Columns[3] as GridViewDataColumn;

        for (int i=0;i<ASPxGridView1.VisibleRowCount;i++)
        {
            DataRow row = ASPxGridView1.GetDataRow(i);
            SqlCommand command = new SqlCommand("update Student set Enable=" + (Convert.ToBoolean(row["Enable"]) ? "0" : "1") + " where id=" + row["id"].ToString(), connection);
            ASPxCheckBox box = ASPxGridView1.FindRowCellTemplateControl(i, dataColumn, "cb") as ASPxCheckBox;
            if (box!=null && box.Checked)
            {
                connection.Open();
                command.ExecuteNonQuery();
                connection.Close();
            }

        }

But variable Box always have checked false. 但是变量Box总是选中false。 Even when CheckBox should matter true. 即使CheckBox应该很重要。 This ASPxGridView 这个ASPxGridView

<dx:ASPxGridView ID="ASPxGridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1">
            <Columns>
                <dx:GridViewDataTextColumn FieldName="id" ReadOnly="True" VisibleIndex="0">
                    <EditFormSettings Visible="False" />
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn FieldName="FName" VisibleIndex="2">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn FieldName="LName" VisibleIndex="3">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn Caption="#" VisibleIndex="1">
                <DataItemTemplate>
                    <dx:ASPxCheckBox ID="cb" runat="server" >
                    </dx:ASPxCheckBox>
                </DataItemTemplate>
            </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn FieldName="Phone" VisibleIndex="5">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn FieldName="Email" VisibleIndex="6">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataCheckColumn FieldName="Enable" Visible="False" VisibleIndex="7" Name="Enable">
                </dx:GridViewDataCheckColumn>
            </Columns>
        </dx:ASPxGridView>

I'll want to mark the necessary rows and updat table if box.checked=true. 如果box.checked = true,我将标记必要的行和更新的表。 How this doing another way i'm don't understand. 我不知道这是怎么做的。 Thanks. 谢谢。

DataRow row = ASPxGridView1.GetDataRow(i)所有checkBoks都将变为false,因为在第二个cicle中, if false。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM