--
Has recibido este mensaje porque estás suscrito al grupo "PowerBuilder - Ica" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a powerbui...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a powerbuilder-i...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/powerbuilder-ica?hl=es.
Para leer y modificar los atributos de un objeto DataWindow, que llamamosdescribe () y modificar () función. Describir () devuelve el valor del atributo especificado. Por ejemplo, el comando retorna siguientes si el DataWindow se encuentra en el modo de consulta o no.
| Cadena ls_QueryModeCheck ls_QueryModeCheck = & dw_product.Describe ("datawindow.querymode") |
El primer valor del argumento es el nombre del objeto y el segundo es el nombre del atributo. Hay algunos atributos que son aplicables para el objeto DataWindow conjunto. Por ejemplo, querymode, vista preliminar. En ese caso, el primer argumento es, literalmente, "DataWindow". Oye, ¿quieres saber si la fuente de la "product_description" campo está en cursiva o no, entonces tenemos que sustituir "DataWindow" con el nombre de la columna ", product_description" en el código anterior.
| Cadena ls_FontItalicCheck ls_FontItalicCheck = dw_product.Describe (& "product_description.font.italic") |
Al hacer frente a la columna, puede especificar el número de columna en lugar del nombre de columna. Por ejemplo, en el "dw_product" control DataWindow, la segunda columna es "product_description", la llamada de función sería:
| Cadena ls_FontItalicCheck ls_FontItalicCheck = & dw_product.Describe ("# 2.font.italic") |
Cuando se utiliza el número de columna, debe anteponer al número de columna con el símbolo como se muestra en el ejemplo anterior. El valor de retorno de describir () es siempre un tipo de datos de cadena. Por lo tanto, cuando usted está esperando un tipo de datos numérico o de otro tipo, es necesario convertirlo en el tipo de datos deseado.
La corrección del argumento no se comprueba en tiempo de compilación. Si hay algo mal con el argumento, Describir devuelve "".
Utilizamos Modificar () función para cambiar el valor de un atributo. El código siguiente establece el DataWindow en el modo de consulta:
dw_product.Modify ("DataWindow.QueryMode = yes")
El código siguiente cambia el campo product_balance:
| dw_product.Modify ("product_balance.Format = '[red] & $ #, # # #, # # 0,00 ") |
El siguiente código establece el argumento de recuperación de un informe anidado.
| ls_Arg = ". Nest_Arguments = ((~" "+ & string (lEmpIdToPrint) + "~")) " dw_print.Modify ("r_emp_details" + lStrArg) dw_print.Modify ("+" r_emp_vacations lStrArg) dw_print.Modify ("r_emp_wages "+ lStrArg) dw_print.Modify ("r_emp_docs" + lStrArg) |
El ejemplo anterior es tomada del proyecto de Nómina. En la ventana de entrada de datos empleado tenemos cuatro DataWindows. Ya que no podemos imprimir todos esos cuatro DataWindows juntos como podemos ver en la ventana, estamos usando un DataWindow compuesto que tiene cuatro DataWindows. Cada una de las DataWindow tiene un argumento de recuperación de la Identificación del empleado.
El argumento de la recuperación de un DataWindow anidado no se puede especificar con una normal Retrieve () función. Por lo tanto, tenemos que usar Modify ()función para establecer el argumento de recuperación de cada una de las DataWindow anidada. Para ello, es necesario especificar el nombre y DataWindow objeto anidado " . Nest_Arguments "la propiedad y el valor. Estamos usar tilde signo "~" utilizar caracteres especiales en las citas. Por ejemplo, si desea utilizar un carácter de tabulación, es necesario utilizar "~ t". Del mismo modo para representar una cita doble en una cita doble, es necesario utilizar "~" "tilde antes de la cita.
No está limitado al uso de un valor constante en el Modificar () función. Se puede asignar un valor a través de una expresión que se evalúa PowerBuilder durante la ejecución, en lugar de tener que asignar directamente un valor. La siguiente es la sintaxis:
'DefaultValue ~ t DataWindowExpression'
DefaultValueThe valor para asignar la propiedad si DataWindowExpression no devuelve un valor válido. Tenga en cuenta que usted debe separar el valor por defecto y expresión DataWindow con un carácter de tabulación.
| dw_product.Modify ("product_balance.Color = '0 ~ t & if ("product_balance <product_reorder_level, 255,0) '") |
Los cambios de color por encima de la declaración de product_balance a rojo si el saldo es menor que el nivel de pedido, de lo contrario, el color se establece en negro.
dw_wages.Modify ("effective_date.TabSequence = 0")
En el ejemplo anterior, estamos estableciendo la secuencia de tabulación de la columna EFFECTIVE_DATE a cero. Esto significa que el usuario no puede editar este campo. Eso está bien. Pero, si desea permitir al usuario editar el campo en los nuevos registros, pero desea proteger en los registros existentes, la afirmación anterior no funcionará. Tenemos que utilizar una expresión.
| dw_wages.Modify ("gross_wages.Protect = '1 ~ TIF (y IsRowNew (), 0,1) '") |
Cuando se establece el orden de tabulación de un campo, se aplica al campo en todos los registros. En cambio, si se utiliza proteger atributo, se puede aplicar a un nivel récord. En el ejemplo anterior, estamos protegiendo el campo si no es un nuevo récord. Los dos ejemplos anteriores sería útil para usted en el "Proyecto de Nómina" próximo proyecto, que necesita el código de inicio.
| dw_product.Modify ("product_balance.Color = '0 ~ t" + + "if (product_balance <product_reorder_level, 255,0) '" + + "product_balance.Font.Weight = '400 ~ t" + + "if (product_balance < product_reorder_level, y 700 400) '"+ &" product_balance.Alignment = '1 ~ t "+ + "if (product_balance <product_reorder_level, 0,1) '") |
Usted no está limitado a una expresión por modificar () función. Puede utilizar varias expresiones separadas por un espacio entre cada expresión. En la declaración anterior estamos creando la product_balance al color rojo en negrita y alineado a la izquierda. Hemos utilizado tres expresiones separadas por un espacio.

DataWindow después de varias expresiones Modificar () función.
También puede utilizar la sentencia CREATE para agregar objetos a la DataWindow en tiempo de ejecución. En el ejemplo siguiente se toma de la ayuda, que añade una elipse a la DataWindow.
| dw_1.Modify ("CREATE elipse (banda = detail x = '1229 '" + + "y = 0" height = 112 "width = '739 'brush.hatch = '6'" + + "name = oval2" brush.color = '65535 'pen.style = '0' "+ + "Pen.Width = '10 'pen.color = '0' background.mode = '1 '") |
También puede destory los elementos de la DataWindow using Destory.
dw_1.Modify ("DESTRUIR oval2")
Destrucción de una columna por su nombre no elimina los datos de la columna de la memoria intermedia. Simplemente elimina la columna de la pantalla.
dw_1.Modify ("DESTRUIR emp_id")
Si desea eliminar los datos de la columna también desde el buffer, incluir la columna de palabras clave.
dw_1.Modify ("emp_id DESTRUIR LA COLUMNA")

varios pusieron el mismo comentario antes jajajaja mas quejón!
lo dijo en terminos generales
alguien te odiaba...
Bueno un saludo pa todos...!Hoy es Juergues!