Hola CRauda, muchas gracias por contestar
Si manejo la cuestion de los permisos de informacion a nivel usuario.
Recreare un poco mas el escenario, creo que me falto mas informacion por explicar, una disculpa.
Es una pagina de mantenimento el (Altas, Bajas, Consulta). Donde de 1 a n usuarios pueden estar almacenando informacion al mismo tiempo, y efectivamente cuando hacen la consulta debieran poder ver la informacion ya almacenada en la base de datos de los demas usuarios.
El problema es que la información en los grids de captura no debiera ser compartida, solo la debieran poder ver los demas usuarios cuando sea obtenida de la bd. Y sin embargo durante la ejecucion pueden ver la informacion sin que la informacion este guardada. como si las variables estuviaran globales y publicas y por eso pudieran verla.
Actualmente utilizo:
Visual Studio 2010
.Net Framework 4.0
Webforms
3 Capas (Presentacion, Negocios, Acceso a Datos)
Listas genericas.
he probado en
Chrome v29.0.1547.66
Firefox v24.0
IE v9.0.8112.16421
Mando un fragmento del codebehind, donde se realiza la inicializacion de variables, el llenado del grid y el evento del cambio de renglon,
Código:
public partial class Entradas : System.Web.UI.Page
{
static List<Movimientos> _cargaEntradaSalidas = null;
static List<PrefijosEntidad> _listaPrefijos = null;
static ContabilidadParamEntidad _datosParamcont = null;
static CentroCostoEntidad _obtieneCentroTodos = null;
static MetodosComunes _metodosComunes = null;
static bool _selectCatalogo = false;
static List<TipoMoneda>_tipoMoneda = null;
static ComprasParamEntidad _datosParamComp = null;
static List<EntradaAlmacen> _listEntrada = null;
static bool _alta = false;
static bool _exito = false;
static List<string> _listMoneda = null;
static List<VarArticulos> _listVarArticulo = null;
static ArticulosEntidad _datosArticulo;
static string _opcion = string.Empty;
static string _cadena = string.Empty;
static string _consecutivoOriginal = string.Empty;
static string _imgAbierto = "../../Imagenes/candadoAbierto.png", _imgCerrado = "../../Imagenes/candadoCerrado.png";
static List<CentrosCuenta> CentrosCostosAux = null;
static List<MovimientosEntrada> _movimientosEntrada = null;
static EntradasEntidad _datosEntrada = null;
static string _mensage = string.Empty, _borrar = string.Empty, _separador = string.Empty, _costoAutomatico = string.Empty;
static bool _new = false, _ModFolio = false, _NoValidaCuenta = false;
static int _totalCentros = 0,_comboPrefijoIndexAnt;
static List<Movimientos> _tipoMovimientosInventario = null;
static bool _ajusteInventario;
static int anioMax = 0;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
Inicializar();
}
}
public void Inicializar()
{
#region Entrada
_movimientosEntrada = new List<MovimientosEntrada>();
tableEntradas.DataSource = _movimientosEntrada;
tableEntradas.DataBind();
EstiloTablaEntrada();
#endregion
_datosParamcont = new ContabilidadParamEntidad();
_datosParamcont = new ParametrosBLL().ObtenerInformacionParametroCont();
_ModFolio = (_datosParamcont.IndicadorModificarFolio == true && _datosParamcont.IndicadorModificarFolio != null) ? true : false;
_NoValidaCuenta = (_datosParamcont.IndicadorValidarCuentaContable == true && _datosParamcont.IndicadorModificarFolio != null) ? true : false;
_datosParamComp = new ComprasParamEntidad();
_datosParamComp = new ComprasBLL().ObtenerInformacionParametroCompras();
_costoAutomatico = (_datosParamComp.IndicadorEntradaCosto == true) ? "1" : "0";
anioMax = new MetodosComunes().AnioMaximo();
CentrosCostosAux = new CentroCostoBLL().ObtieneCuentasObligatorias();
stcCancelado.Visible = false;
edtEntrada.Text = "--";
_separador = Session["Separador"].ToString();
_tipoMoneda = new List<TipoMoneda>();
_tipoMoneda = new MetodosComunes().TipoMoneda();
Parametro.CamposAdicionales = new CamposAdicionalesBLL().ObtenerCamposAdicionalesPorProceso("Entradas");
_listMoneda = new List<string>();
_listMoneda.Add("");
_listMoneda.Add(_tipoMoneda[0].MonedaNacional);
_listMoneda.Add(_tipoMoneda[0].MonedaExtranjera);
comboMoneda.DataSource = _listMoneda;
comboMoneda.DataBind();
}
protected void tableEntradas_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
tableEntradas.DataSource = _movimientosEntrada;
}
protected void tableEntradas_SelectedIndexChanged(object sender, EventArgs e)
{
chckboxNuevo.Checked = false;
GridDataItem item = tableEntradas.SelectedItems[0] as GridDataItem;
edtArticulo.Text = InnovaTools.RemoverNOBR(item["NoArticulo"].Text);
edtCuentaAbono.Text = InnovaTools.RemoverNOBR(item["CuentaExterna"].Text);
edtUnidadMedida.Text = InnovaTools.RemoverNOBR(item["UnidadMedida"].Text);
edtAlmacen.Text = InnovaTools.RemoverNOBR(item["Almacen"].Text);
comboMoneda.SelectedIndex = comboMoneda.FindItemIndexByText(InnovaTools.RemoverNOBR(item["Moneda"].Text));
edtCantidad.Text = InnovaTools.RemoverNOBR(item["Cantidad"].Text);
edtCosto.Text = InnovaTools.RemoverNOBR(item["Precio"].Text);
edtSerie.Text = InnovaTools.RemoverNOBR(item["Serie"].Text);
edtPedimento.Text = InnovaTools.RemoverNOBR(item["Pedimento"].Text);
#region Centros Costo
for (int i = 0; i < _totalCentros; i++)
{
switch (i)
{
case 0:
edtCc1.Text = InnovaTools.RemoverNOBR(item["Columna1"].Text);
break;
case 1:
edtCc2.Text = InnovaTools.RemoverNOBR(item["Columna2"].Text);
break;
case 2:
edtCc3.Text = InnovaTools.RemoverNOBR(item["Columna3"].Text);
break;
case 3:
edtCc4.Text = InnovaTools.RemoverNOBR(item["Columna4"].Text);
break;
case 4:
edtCc5.Text = InnovaTools.RemoverNOBR(item["Columna5"].Text);
break;
}
}
#endregion
}
}
nuevamente muchas gracias por contestar, saludos!!