У меня есть два GridViews на моей странице - grvBookCategories
показывает категории одной конкретной книги и grvCategories
содержит все возможные категории для библиотеки. grvBookCategories
отображается, когда страница загружается и grvCategories
запускается при нажатии кнопки. В cbxGrvCategories
ItemTemplate есть флажок grvCategories
.
Вопрос в том, как пропустить эти два GridViews, чтобы найти одинаковые значения в обоих из них (оба содержат столбец с именем категории)? Если есть соответствие - соответствующий флажок должен быть проверен. Например, если есть 3 строки, grvBookCategories
тогда необходимо также установить 3 флажка grvCategories
.
Я пытался это сделать, используя grvCategories_RowDataBound событие и петли foreach, но результаты не совсем правильные. Проблема в том, что в последней grvCategories
строке есть совпадение . В этом случае флажок в этой строке никогда не проверяется, для всех остальных строк результаты являются точными.
protected void grvCategories_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string rowcValue = "";
string rowbcValue = "";
CheckBox cbx = new CheckBox();
foreach (GridViewRow rowc in grvCategories.Rows)
{
if (rowc.RowType == DataControlRowType.DataRow)
{
rowcValue = rowc.Cells[2].Text;
cbx = (CheckBox)rowc.Cells[3].FindControl("cbxGrvCategories");
foreach (GridViewRow rowbc in grvBookCategories.Rows)
{
if (rowbc.RowType == DataControlRowType.DataRow)
{
rowbcValue = rowbc.Cells[1].Text;
if (rowcValue.Equals(rowbcValue))
{
cbx.Checked = true;
break;
}
else
{
cbx.Checked = false;
}
}
}
}
}
}
}
Спасибо за любую помощь заранее!
c#,asp.net,gridview,visual-studio-2015,
У меня есть два GridViews на моей странице - grvBookCategories
показывает категории одной конкретной книги и grvCategories
содержит все возможные категории для библиотеки. grvBookCategories
отображается, когда страница загружается и grvCategories
запускается при нажатии кнопки. В cbxGrvCategories
ItemTemplate есть флажок grvCategories
.
Вопрос в том, как пропустить эти два GridViews, чтобы найти одинаковые значения в обоих из них (оба содержат столбец с именем категории)? Если есть соответствие - соответствующий флажок должен быть проверен. Например, если есть 3 строки, grvBookCategories
тогда необходимо также установить 3 флажка grvCategories
.
Я пытался это сделать, используя grvCategories_RowDataBound событие и петли foreach, но результаты не совсем правильные. Проблема в том, что в последней grvCategories
строке есть совпадение . В этом случае флажок в этой строке никогда не проверяется, для всех остальных строк результаты являются точными.
protected void grvCategories_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string rowcValue = "";
string rowbcValue = "";
CheckBox cbx = new CheckBox();
foreach (GridViewRow rowc in grvCategories.Rows)
{
if (rowc.RowType == DataControlRowType.DataRow)
{
rowcValue = rowc.Cells[2].Text;
cbx = (CheckBox)rowc.Cells[3].FindControl("cbxGrvCategories");
foreach (GridViewRow rowbc in grvBookCategories.Rows)
{
if (rowbc.RowType == DataControlRowType.DataRow)
{
rowbcValue = rowbc.Cells[1].Text;
if (rowcValue.Equals(rowbcValue))
{
cbx.Checked = true;
break;
}
else
{
cbx.Checked = false;
}
}
}
}
}
}
}
Спасибо за любую помощь заранее!
00C #, asp.net, GridView, зрительно-студия-2015,