void irp_AfterOK(object sender, AfterOKEventArgs e) { String[] strValue = new string[(sender as InfoRefPanel).value.Count]; String[] strDisplay = new string[(sender as InfoRefPanel).display.Count]; for (int i = 0; i < strValue.Length; i++) { strValue[i] = (sender as InfoRefPanel).value[i].ToString(); strDisplay[i] = (sender as InfoRefPanel).display[i].ToString(); } int num = 0; for (int j = 0; j < this.refButtonMatchs.Count; j++) for(int i = 0; i < this.Parent.Controls.Count; i++) if ((refButtonMatchs[j] as RefButtonMatch).matchColumnName == this.Parent.Controls[i].Name) if (num < strValue.Length) { if (this.Parent.Controls[i] is InfoRefbuttonBox) { (this.Parent.Controls[i] as InfoRefbuttonBox).Text = strDisplay[num]; (this.Parent.Controls[i] as InfoRefbuttonBox).RealValue = strValue[num]; (this.Parent.Controls[i] as InfoRefbuttonBox).Enter += new EventHandler(InfoRefButton_Enter); (this.Parent.Controls[i] as InfoRefbuttonBox).Leave += new EventHandler(InfoRefButton_Leave); } else if (this.Parent.Controls[i] is InfoRefvalBox) { (this.Parent.Controls[i] as InfoRefvalBox).TextBoxSelectedValue = strValue[num]; if (this.Parent.Controls[i].GetType().GetInterface("IWriteValue", true) != null) { ((IWriteValue)this.Parent.Controls[i]).WriteValue(); } } else { this.Parent.Controls[i].Text = strValue[num]; if (this.Parent.Controls[i].GetType().GetInterface("IWriteValue", true) != null) { ((IWriteValue)this.Parent.Controls[i]).WriteValue(); } } num++; continue; } }
private void btnOK_Click(object sender, EventArgs e) { value = new ArrayList(); display = new ArrayList(); if (refButton.infoTranslate.RefReturnFields.Count > 0) { if (refButton.autoPanel) { for (int i = 0; i < refButton.infoTranslate.RefReturnFields.Count; i++) { String ColumnName = ((TranslateRefReturnFields)(refButton.infoTranslate.RefReturnFields[i])).ColumnName; String DisplayColumnName = ((TranslateRefReturnFields)(refButton.infoTranslate.RefReturnFields[i])).DisplayColumnName; if (refButton.multiSelect) { String values = String.Empty; String displays = String.Empty; for (int j = 0; j < this.infoDataGridView1.Rows.Count; j++) { if (this.infoDataGridView1.Rows[j].Cells["SelectItems"].Value != null && (bool)this.infoDataGridView1.Rows[j].Cells["SelectItems"].Value) { values += this.infoDataGridView1.Rows[j].Cells[ColumnName].Value + ","; displays += this.infoDataGridView1.Rows[j].Cells[DisplayColumnName].Value + ","; } } if (values.Length > 0) values = values.Remove(values.Length - 1); if (displays.Length > 0) displays = displays.Remove(displays.Length - 1); value.Add(values); display.Add(displays); } else { value.Add(((DataRowView)refButton.infoTranslate.BindingSource.Current).Row[ColumnName].ToString()); display.Add(((DataRowView)refButton.infoTranslate.BindingSource.Current).Row[DisplayColumnName].ToString()); } } } else { for (int i = 0; i < refButton.infoTranslate.RefReturnFields.Count; i++) { String ColumnName = ((TranslateRefReturnFields)(refButton.infoTranslate.RefReturnFields[i])).ColumnName; String DisplayColumnName = ((TranslateRefReturnFields)(refButton.infoTranslate.RefReturnFields[i])).DisplayColumnName; //add multiSelect by luciferling 20080730 if (refButton.multiSelect) { String values = String.Empty; String displays = String.Empty; InfoDataGridView idgv = (InfoDataGridView)refButton.panel.Controls[0]; int m, n; for (m = 0; m < idgv.ColumnCount; m++) { if (idgv.Columns[m].DataPropertyName.ToString() == ColumnName) break; } for (n = 0; n < idgv.ColumnCount; n++) { if (idgv.Columns[n].DataPropertyName.ToString() == DisplayColumnName) break; } for (int k = 0; k < idgv.SelectedRows.Count; k++) { values += idgv.SelectedRows[k].Cells[m].Value + ","; displays += idgv.SelectedRows[k].Cells[n].Value + ","; } if (values.Length > 0) values = values.Remove(values.Length - 1); if (displays.Length > 0) displays = displays.Remove(displays.Length - 1); value.Add(values); display.Add(displays); } //end add else { value.Add(((DataRowView)refButton.infoTranslate.BindingSource.Current).Row[ColumnName].ToString()); display.Add(((DataRowView)refButton.infoTranslate.BindingSource.Current).Row[DisplayColumnName].ToString()); } } } } this.Hide(); AfterOKEventArgs args = new AfterOKEventArgs(); args.Values = value; args.Displays = display; OnAfterOK(args); }
protected void OnAfterOK(AfterOKEventArgs args) { EventHandler<AfterOKEventArgs> handler = (EventHandler<AfterOKEventArgs>)Events[afterOKEventKey]; if (handler != null) { handler(this, args); } }
void innerPanel_AfterOK(object sender, AfterOKEventArgs e) { if (e.Values.Count != this.RefButtonMatchs.Count) { throw new NotSupportedException("RefButtonMatchs item count must equal to InfoTranslate.RefReturnFields"); } int i = 0; foreach (RefButtonMatch match in this.RefButtonMatchs) { this.DataGridView[match.matchColumnName, this.RowIndex].Value = e.Values[i]; i++; } }