В настоящее время я создаю систему динамических вкладок URL, чтобы пользователь мог сказать, какие URL он хочет отобразить на элементе управления вкладкой.
В базе данных у меня есть следующие столбцы.
userID, int URLName var Enabled bit
Я возвращаю данные в порядке, но я пытаюсь заполнить список флажков URL-адресом и его статусом на странице параметров пользователя, чтобы они могли сказать, какие вкладки они хотят отобразить..
Я написал следующие методы для получения URL-адресов и создания флажков, однако я продолжаю получать следующую ошибку.
ex = {"InvalidArgument = Значение '1' недопустимо для'index'. \ r \ nParameter name: index "}
Он читает первую строку нормально, но когда он достигает 2-й строки, которая возвращается, я получаю эту ошибку.
Кто-нибудь получилесть идеи?
Спасибо
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);
}
}