I want to save a dataset table to an excel file just like the grid exporter. I want to dynamically create the grid without displaying anything and use the grid exporter to export it. The code below runs and there are multiple rows in the dataset with just 1 table. The wg.Refresh(); does not fill the grid. So I am asking how do I get the grid filled with the data. Again, the Grid is not on a form.
Infragistics.Win.UltraWinGrid.
();
wg.DataSource = dsInput;
wg.DataMember =
;
wg.Refresh();
band = wg.DisplayLayout.Bands[0];
//foreach (Infragistics.Win.UltraWinGrid.UltraGridBand band in wg.Rows.Band)
wg.Rows)
{
count = band.Columns.Count - 1; count >= 0; count--)
band.Columns[count].PerformAutoResize(Infragistics.Win.UltraWinGrid.
.AllRowsInBand);
}
Infragistics.Win.UltraWinGrid.ExcelExport.
ux.Export(wg,
);
Hello Rookertrusted,
By this I meant the following:
Please type "wg.InitializeRow +=" and the Intelisense will provide you the ability to click the Tab key from the key board, in order to finish the subscription of the event for you, and if you click the Tab key from the keyboard one more time the Visual Studio will create also the handler for you as well.
If the procedure is completed correctly you would see would be like the following:
wg.InitializeRow += new Infragistics.Win.UltraWinGrid.InitializeRowEventHandler(ug_InitializeRow);
static void ug_InitializeRow(object sender, InitializeRowEventArgs e) { throw new NotImplementedException(); }So please remove the "throw new NotImplementedException(); " and add there your code instead:
MessageBox.Show("It worked");Please note that your message box will be shown two time more than the rows that your DataTable contains, the first time this event will fire for each UltraGridRow in the UltraGrid, and this event will fire for each row again because of the Exporter.If you need any other assistance with this matter please feel free to let me know.
Not sure what you mean to press the tab key twice?
Also assuming I want to display MessageBox.Show("It worked") on the InitializeRow, what code would it take?
What you could do here is to subscribe for this event prior setting the DataSource to your UltraGrid like:
wg.InitializeRow += and press Tab key twise;In the handler of the event you could set the desired logic and it will apply for your UltraGrid.If you have any other questions with this matter please feel free to let us know.
That was perfect. Just one other question..... Based on the logic, how do I run some code on the IntializeRow event. IE... I can't double click on this event because it doesn't actually display the grid.
Hello RookerTrusted,
If you mean by "Expand" to make your column wider in order to fit the text inside it, you could set the following for your UltraGrid, prior performing the column resize:
wg.DisplayLayout.Override.AllowColSizing = AllowColSizing.Free;If you have any other questions please feel free to contact us.