}\r
\r
private void sourceGridView_CellContentClick(object sender, DataGridViewCellEventArgs e) {\r
- var selectedItem = bindingSource.Current;\r
- if (selectedItem == null) {\r
+ var selectedrows = dataGridSource.SelectedRows;\r
+ var selectedItems = bindingSource.Current;\r
+ if (selectedrows == null) {\r
return;\r
}\r
if (e.ColumnIndex == 0) {\r
- SetSourceFromCheckBoxAction(sender, selectedItem);\r
+ SetSourceFromCheckBoxAction(selectedrows);\r
return;\r
}\r
if (e.ColumnIndex != 3)\r
return;\r
- FileSourceItem fileSourceItem = selectedItem as FileSourceItem;\r
+ FileSourceItem fileSourceItem = selectedItems as FileSourceItem;\r
if (fileSourceItem == null)\r
return;\r
Cursor = Cursors.WaitCursor;\r
}));\r
}\r
\r
- private void SetSourceFromCheckBoxAction(object sender, object selectedItem) {\r
+ private void SetSourceFromCheckBoxAction(DataGridViewSelectedRowCollection selectedRows) {\r
String name;\r
- NexioSourceItem n = selectedItem as NexioSourceItem;\r
- if (n == null) {\r
- FileSourceItem f = selectedItem as FileSourceItem;\r
- name = f.Name;\r
- } else name = n.Name;\r
+ bool valueOfCheckBoxes = GetValueOfCheckBoxes(selectedRows);\r
+ foreach (DataGridViewRow actualRow in selectedRows) {\r
+ var cells = actualRow.Cells;\r
+ if (cells.Count <= 0)\r
+ return;\r
+ name = cells[1].Value as string;\r
+ if (String.IsNullOrEmpty(name))\r
+ return;\r
+ DataGridViewCheckBoxCell checkBoxCell = cells[0] as DataGridViewCheckBoxCell;\r
+ if (selectedRows.Count > 1)\r
+ checkBoxCell.Value = valueOfCheckBoxes;\r
+ else\r
+ checkBoxCell.Value = (checkBoxCell.Value == null || checkBoxCell.Value.Equals(false)) ? true : false;\r
+ if (checkBoxCell.Value.Equals(false))\r
+ selectedSources.Remove(name);\r
+ else {\r
+ if (!selectedSources.Contains(name))\r
+ selectedSources.Add(name);\r
+ }\r
+ SetTextSelectedSourceTextFromCheckBoxes();\r
+ SetMetadataButtonEnabled((bool)checkBoxCell.Value);\r
+ }\r
+ }\r
\r
- DataGridView gridView = sender as DataGridView;\r
- var cells = gridView.SelectedCells;\r
- if (cells.Count <= 0)\r
- return;\r
- DataGridViewCheckBoxCell checkBoxCell = cells[0] as DataGridViewCheckBoxCell;\r
- checkBoxCell.Value = (checkBoxCell.Value == null || checkBoxCell.Value.Equals(false)) ? true : false;\r
- if (checkBoxCell.Value.Equals(false))\r
- selectedSources.Remove(name);\r
- else\r
- selectedSources.Add(name);\r
- SetTextSelectedSourceTextFromCheckBoxes();\r
- SetMetadataButtonEnabled((bool)checkBoxCell.Value);\r
+ private bool GetValueOfCheckBoxes(DataGridViewSelectedRowCollection selectedRows) {\r
+ bool result = true;\r
+ foreach (DataGridViewRow actualRow in selectedRows) {\r
+ var cells = actualRow.Cells;\r
+ DataGridViewCheckBoxCell checkBoxCell = cells[0] as DataGridViewCheckBoxCell;\r
+ if (checkBoxCell.Value != null && checkBoxCell.Value.Equals(true))\r
+ result = false;\r
+ else { result = true; return result; }\r
+ }\r
+ return result;\r
}\r
\r
private void SetMetadataButtonEnabled(bool checkBox) {\r
private void dataGridSource_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e) {\r
if (e.RowIndex < 0)\r
return;\r
- var selectedItem = bindingSource.Current;\r
- SetSourceFromCheckBoxAction(sender, selectedItem);\r
+ var selectedRows = dataGridSource.SelectedRows;\r
+ SetSourceFromCheckBoxAction(selectedRows);\r
}\r
}\r
}\r