Mercator permet de visualiser aisément un DataSet par code personnalisé. Cela se fait via la méthode MercatorUi._Divers.ViewData. Elle présente ces différentes signatures.
public static void ViewData(DataSet ds)
public static void ViewData(DataSet ds, bool showModal)
public static void ViewData(DataSet ds, bool showModal, string formText)
public static DialogResult ViewData(DataSet ds, bool showModal, bool showButtons, string formText)
public static DialogResult ViewData(DataSet ds, bool showModal, bool showButtons, string formText, Forms.Other.DataSetViewerForm.DelegateFormLoaded formLoaded)
Le paramètre showModal permet de déterminer si l'affichage doit être fait sous la forme d'une boîte de dialogue bloquante (true) ou pas (false).
Le paramètre showButtons ne doit être utilisé que si showModal est à true. Dans ce cas, des boutons OK et Annuler sont présents dans le bas de l'écran. Notez que le bouton utilisé sera connu via le résultat de la méthode :
- OK : DialogResult.OK
- Annuler : DialogResult.Cancel
Le délégué formLoaded est particulièrement intéressant, puisqu'il permet de passer du code custom qui sera exécuté dans l'événement Load de la MercatorUi.Forms.Other.DataSetViewerForm qui présentera les données.
Ci-dessous un exemple de code qui montre comment, sur base d'une extraction de deux DataTables :
- modifier les libellés des onglets,
- adapter automatiquement la largeur des colonnes en fonction de leur contenu.
DataSet ds = Api.Zselect(MercatorUi.Globals.RepData, "select top 10 c_id,c_nom from CLI\r\nselect top 10 f_id,f_nom from FOU");
if (ds != null)
{
MercatorUi._Divers.ViewData(ds, false, false, "Clients & Fournisseurs", (dataSetViewerForm) =>
{
dataSetViewerForm.TabControl.TabPages[0].Text = "Clients";
dataSetViewerForm.TabControl.TabPages[1].Text = "Fournisseurs";
EventHandler fullInitializedHandler = null;
fullInitializedHandler = (s2, e2) =>
{
dataSetViewerForm.FullInitialized -= fullInitializedHandler;
foreach (MercatorUi.GridPro.DataGridViewXPro grid in dataSetViewerForm.Grids)
{
grid.AutoFit();
}
};
dataSetViewerForm.FullInitialized += fullInitializedHandler;
});
}
Voir aussi :