• Lettori Recenti

  • Link Sugosi

  • Meta

  • Annunci

GridView e conferma cancellazione

Tutte ma dico tutte le volte che devo mettere la conferma di eliminazione via javascript devo andarmi a vedere come si fa quindi lo metto anche qui cosi sono sicuro di dove trovarlo. 🙂

bt2.Attributes.Add("onClick", "if(!confirm('Vuoi veramente cancellare questa News?')) return false;");
Annunci

BusinessObjectColumn

Prendendo “spunto” da questo post di Paul Stovell ho creato una dataColumn che mi permette di accedere le property di un entity collegata ad un altra nel mio sistema di BusinessObject.
Il tutto ovviamente funziona tramite reflection.
Per ora posto il codice mi riservo poi di commentarlo visto i miei tempi biblici non aspettatevelo e brave, ma intanto potrebbe esservi utile. 🙂

using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
using System.Windows.Forms;
using System.ComponentModel;

public class BusinessObjectColumn : DataGridViewTextBoxColumn
{
private String mPropertyName;
public String PropertyName
{
get { return ((BusinessObjectCell)base.CellTemplate).PropertyName; }
set { ((BusinessObjectCell)base.CellTemplate).PropertyName = value; }
}
public BusinessObjectColumn(): base()
{
base.CellTemplate = new BusinessObjectCell();
}

public BusinessObjectColumn(string pPropertyName) : base()
{
mPropertyName = pPropertyName;
base.CellTemplate = new BusinessObjectCell(pPropertyName);

}
public override DataGridViewCell CellTemplate
{
get{return base.CellTemplate;}
set { }
}

}

public class BusinessObjectCell : DataGridViewTextBoxCell
{
private string mPropertyName;
public string PropertyName
{
get { return mPropertyName; }
set { mPropertyName = value; }
}
public BusinessObjectCell() : base(){}
public BusinessObjectCell(string pPropertyName) : base()
{
mPropertyName = pPropertyName;
}
protected override object GetFormattedValue(object value,int rowIndex,ref DataGridViewCellStyle cellStyle,System.ComponentModel.TypeConverter valueTypeConverter,System.ComponentModel.TypeConverter formattedValueTypeConverter,System.Windows.Forms.DataGridViewDataErrorContexts context)
{
PropertyInfo pinf = value.GetType().GetProperty(mPropertyName);
return pinf.GetValue(value, null);
}
public override object Clone()
{
BusinessObjectCell dataGridViewCell = base.Clone() as BusinessObjectCell;
if (dataGridViewCell != null)
{
dataGridViewCell.PropertyName = this.PropertyName;
}
return dataGridViewCell;
}
}

Edit: Ho sostituito la formattazione fatta con il formattatore esterno con quello fornito da wordpress ma ancora non ci siamo al 100% appena posso lo sistemo.

Filtrare gli utenti in base alle proprietà del profile provider

Andrea Boschin, in risposta a questo thread, propone un soluzione per filtrare gli utenti in base ad alcuni valori presenti nella tabella del profile provider.
Il problema è dato dalla codifica che questi dati hanno all’interno della tabella, come fa notare lo stesso Andrea è un workaround e va bene se l’esigenza non è tale da giustificare l’implementazione di un provider custom:

Tuttavia lasciatemi fare una considerazione: la palese inadeguateza del ProfileProvider in casi come questo mi suggerisce che sia preferibile adottare un sistema custom per la persistenza di proprietà che poi servano per catalogare gli utenti, mentre il ProfileProvider dovrebbe essere usato per dati meno sensibili come ad esempio le personalizzazione dell’interfaccia o comunque dei dati che devono solamente essere persistiti tra diverse sessioni.

DotNet alla riscossa

Dopo Python anche ruby ha la sua versione iron che gira sotto .net, ho fatto qualche esperimento con Iron Python e appena avro 5 minuti credo gli dedicherò un bel post, spero che ruby sia allo stesso livello e soprattutto che si possa usare ruby on Rails. Secondo quanto riporta PI si sta lavorando anche ad un porting del buon php, magari presto avremo un wordpress.net. 🙂
Tutte queste meraviglie si bassano su DLR che sembra possa fare miracoli con i linguaggi dinamici, vedremo.

Inoltre al Mix è stato lanciato un nuovo servizio di hosting per applicazioni sperimentali e video che sfruttino silverlight l’antiflash di casa M$, un account me lo farò sicuramente per fare qualche prova.

Formattazione delle stringhe in dot.net

Segnalo questo articolo semplice ma completo sulla formattazione delle stringhe.
C’è sempre qualcosa da imparare, io non sapevo, per esempio, che si potesse ottenere la stringa del valore di un enumerato semplicemente facendo .ToString(“d”).

Creare database access via codice

Oggi avendo la necessità di creare via codice un database access ho scoperto che suando il provider oledb non è possibile, mentre è possibile farlo per un foglio excel ad esempio.
L’unica soluzione sembra essere l’uso di adox.

Ecco un paio di link tra i tanti che ho trovato: 1 e 2

Nuovo trigger per l’update panel

Grande idea questo trigger per l’updatepanel che intercetta gli eventi javascript.