C# 动态复选框列表
我目前正在构建一个动态url选项卡系统,用户可以说他们希望在tabpage控件上显示哪些url 在数据库中,我有以下列 用户ID,int URLName变量 启用位 我正在将数据拉回来,但我尝试做的是在用户选项页面上填充一个带有URL名称及其状态的复选框列表,这样他们就可以说出他们想要显示的选项卡 我已经编写了以下方法来获取URL和创建复选框,但是我一直收到以下错误 ex={“InvalidArgument=值'1'对'index'无效。\r\n参数名称:index'} 它读取第一行ok,但是当它到达返回的第二行时,我得到了这个错误 有人有什么想法吗 谢谢C# 动态复选框列表,c#,.net,dynamic,checkboxlist,C#,.net,Dynamic,Checkboxlist,我目前正在构建一个动态url选项卡系统,用户可以说他们希望在tabpage控件上显示哪些url 在数据库中,我有以下列 用户ID,int URLName变量 启用位 我正在将数据拉回来,但我尝试做的是在用户选项页面上填充一个带有URL名称及其状态的复选框列表,这样他们就可以说出他们想要显示的选项卡 我已经编写了以下方法来获取URL和创建复选框,但是我一直收到以下错误 ex={“InvalidArgument=值'1'对'index'无效。\r\n参数名称:index'} 它读取第一行ok,但是当
private void GetUserURLS()
{
db.initiateCommand("[Settings].[LoadAllUserURLS]", CommandType.StoredProcedure);
sqlp = db.addParameter("@UserID", _UserID, SqlDbType.Int, ParameterDirection.Input);
sqlp = db.addParameter("@spErrorID", DBNull.Value, SqlDbType.Int, ParameterDirection.InputOutput);
db.executeCommand();
CreateCheckBoxes(db.getTable(0).Rows);
db.releaseCommand();
}
private void CreateCheckBoxes(DataRowCollection rows)
{
try
{
int i = 0;
foreach (DataRow row in rows)
{
//Gets the url name and path when the status is enabled. The status of Enabled / Disabled is setup in the users option page
string URLName = row["URLName"].ToString();
bool enabled = Convert.ToBoolean(row["Enabled"]);
CheckedListBox CB = new CheckedListBox();
CB.Items.Insert(i, URLName);
CB.Tag = "CB" + i.ToString();
checkedListBox1.Items.Add(CB);
i++;
}
}
catch (Exception ex)
{
//Log error
Functionality func = new Functionality();
func.LogError(ex);
//Error message the user will see
string FriendlyError = "There has been populating checkboxes with the urls - A notification has been sent to development";
Classes.ShowMessageBox.MsgBox(FriendlyError, "There has been an Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
您不应该将CheckedListBox作为项目添加到CheckedListBox。尝试只添加URLName字符串,例如
string URLName = row["URLName"].ToString();
bool enabled = Convert.ToBoolean(row["Enabled"]);
checkedListBox1.Items.Add(URLName, enabled);
我认为这就是您试图实现的目标。您不应该将CheckedListBox作为项目添加到CheckedListBox中。尝试只添加URLName字符串,例如
string URLName = row["URLName"].ToString();
bool enabled = Convert.ToBoolean(row["Enabled"]);
checkedListBox1.Items.Add(URLName, enabled);
我认为这就是您想要实现的目标。什么编程语言、环境等???什么编程语言、环境等???