Я создал это событие, когда пользователь щелкает ячейку другого вида данных
private void grdDET_Layout(object sender, LayoutEventArgs e)
{
//grdDET.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.True;
//grdDET.DisplayLayout.Override.HeaderClickAction = HeaderClickAction.SortSingle;
try
{
//HEADER
DataGridView dataGridView;
dataGridView = new System.Windows.Forms.DataGridView();
DataGridViewBand oBand = dataGridView.Columns[0];
if (oBand.DataGridView.Columns.Contains("VerCFD") == false) oBand.DataGridView.Columns.Add("VerCFD","");
if (oBand.DataGridView.Columns.Contains("VerAperak") == false) oBand.DataGridView.Columns.Add("VerAperak","");
foreach (DataGridViewColumn oCol in oBand.DataGridView.Columns)
{
switch (oCol.Name)
{
case "Serie":
oCol.HeaderCell.Value = "Series";
oCol.HeaderCell.ReadOnly = true;
oCol.Width = 60;
break;
//case "Folio":
// oCol.Header.Caption = "Folio";
// oCol.CellActivation = Activation.NoEdit;
// oCol.CellAppearance.TextHAlign = Infragistics.Win.HAlign.Right;
// oCol.Width = 70;
// break;
//case "FechaFactura":
// oCol.Header.Caption = "Factura Factura";
// oCol.CellActivation = Activation.NoEdit;
// oCol.Width = 100;
// break;
//case "FechaRecibo":
// oCol.Header.Caption = "Fecha de Recibo";
// oCol.CellActivation = Activation.NoEdit;
// oCol.Width = 100;
// break;
//case "Status":
// oCol.Header.Caption = "Status";
// oCol.CellActivation = Activation.NoEdit;
// oCol.Width = 80;
// break;
//case "Resultado":
// oCol.Header.Caption = "Resultado";
// oCol.CellActivation = Activation.NoEdit;
// oCol.Width = 150;
// break;
//case "FolioAtencion":
// oCol.Header.Caption = "Fol. Atn.";
// oCol.CellActivation = Activation.NoEdit;
// oCol.Width = 80;
// break;
//case "VerCFD":
// oCol.Header.Caption = "";
// oCol.Style = Infragistics.Win.UltraWinGrid.ColumnStyle.Button;
// oCol.CellAppearance.TextHAlign = Infragistics.Win.HAlign.Center;
// oCol.Width = 50;
// break;
//case "VerAperak":
// oCol.Header.Caption = "";
// oCol.Style = Infragistics.Win.UltraWinGrid.ColumnStyle.Button;
// oCol.CellAppearance.TextHAlign = Infragistics.Win.HAlign.Center;
// oCol.Width = 50;
// break;
default:
oCol.Visible = true;
break;
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
, но когда я запускаю приложение и ставлю точку останова в этом событии, программа не входит в это событие
это код, где следует вызывать событие макета, но он этого не делает
private void grdHDR_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
try
{
string CadenaConexion = string.Empty;
DataSet oDs = new DataSet();
if (ValidaDatos())
{
#region Consulta
CadenaConexion = ((System.Web.UI.WebControls.ListItem)(cboAmbiente.Items[cboAmbiente.SelectedIndex])).Value;
db = DatabaseFactory.CreateDatabase(CadenaConexion);
string Folio_Inicial = string.Empty;
string Folio_Final = string.Empty;
string RFC = string.Empty;
//string Desc_Emisor = string.Empty;
//Int32 Id_Num_Prov = 0;
Folio_Inicial = txtFolioIni.Text.Trim();
Folio_Final = txtFolioFin.Text.Trim();
if (e.RowIndex >= 0)
{
DataGridViewRow row = grdHDR.Rows[e.RowIndex];
grdDET.Text = row.Cells[0].Value.ToString();
//txt3_prov.Text = row.Cells[4].Value.ToString();
RFC = row.Cells["RFC"].Value.ToString();
}
//try
//{
// Id_Num_Prov = Convert.ToInt32(txtEmisor.Text.Trim());
//}
//catch
//{
// Desc_Emisor = txtEmisor.Text.Trim();
//}
try
{
sp = db.GetStoredProcCommand("eDocResumenEmisor_pUP");
db.AddInParameter(sp, "@pCveOperacion", DbType.String, "D");
if (false == string.IsNullOrEmpty(Folio_Inicial))
db.AddInParameter(sp, "@pFolio_Inicial", DbType.Int32, Folio_Inicial);
if (false == string.IsNullOrEmpty(Folio_Final))
db.AddInParameter(sp, "@pFolio_Final", DbType.Int32, Folio_Final);
db.AddInParameter(sp, "@pFec_Ini", DbType.DateTime, dtFechaInicial.Value);
db.AddInParameter(sp, "@pFec_Fin", DbType.DateTime, dtFechaFinal.Value);
db.AddInParameter(sp, "@pRFC", DbType.String, RFC);
//if (false == string.IsNullOrEmpty(Desc_Emisor))
// db.AddInParameter(sp, "@pDesc_Emisor", DbType.String, Desc_Emisor);
//if (Id_Num_Prov != 0)
// db.AddInParameter(sp, "@pId_Num_Prov", DbType.Int32, Id_Num_Prov);
//sp.CommandTimeout = 60000;
oDs = db.ExecuteDataSet(sp);
if (oDs.Tables.Count > 0)
{
//grdDET.DataSource = oDs;
grdDET.DataSource = oDs.Tables[0];
//grdHDR.DataBind();
lblDET.Text = "Se encontraron " + oDs.Tables[1].Rows[0][0].ToString() + " CFD's";
}
}
catch (Exception ex)
{
throw ex;
}
#endregion
DesHabilita();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
, как это сделать, чтобы войти в событие макета? Я думал, что с событием макета правильно, но я не уверен.
также можете ли вы сказать мне, если способ, которым я сделал, чтобы добавить столбцы в другое представление данных, является правильным?
спасибо и приветствия