【问题标题】:how to checked checkbox list using database如何使用数据库检查复选框列表
【发布时间】:2017-09-20 16:08:38
【问题描述】:

我有 CheckBoxList 并想在编辑按钮上检查它。如果数据库中的列具有值,它将检查,否则未检查。复选框列表值来自数据库。

显示错误:

索引超出范围。必须为非负数且小于集合的大小。

调试时:

Chk_seat.Items[j].Selected = true;

我该怎么做?

这是我的代码:

<asp:CheckBoxList ID="Chk_seat" runat="server" RepeatDirection="Horizontal">
</asp:CheckBoxList>

public void updatefields_seat(long CarID)
{
    SqlConnection cn = new SqlConnection(connection);
    string qry = @"SELECT [ID]
                ,[ReferenceID]
                ,[CarID]
                ,[Child-Seat]
                ,[Leather-Seat]
                ,[Power-Seat]
                ,[Navigation-System]
                ,[Power-Steering]
                ,[Bucket-Seat]
                ,[IsActive]
                FROM [dbo].[Seat_tbl] Where CarID=" + CarID + "";

    DataSet dsSeat = new DataSet();
    dsSeat = cm.GetQryInDataset(qry);

    if (dsSeat.Tables.Count > 0)
    {
        for (int i = 0; i < dsSeat.Tables[0].Rows.Count; i++)
        {
            for (int j = 0; j < dsSeat.Tables[0].Columns.Count; j++)
            {
                if (dsSeat.Tables[0].Rows[i]["Child-Seat"].ToString() != "")
                {
                    Chk_seat.Items[j].Selected = true;
                }
            }
        }
    }
}

【问题讨论】:

  • 阿西夫.阿里。多谢兄弟。阅读您的评论后,我已经解决了这个问题。在我没有得到问题之前。

标签: asp.net checkbox checkboxlist


【解决方案1】:

dsSeat.Tables[0].Columns.Count 可能大于 CheckBoxList 的大小/长度,这就是您收到此错误的原因:

Index was out of range。必须为非负数且小于集合的大小。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多