Add Column to Grid
Sebastian Schweer
Hi,does anybody know, how i can create a Column on a grid by myself. I
create a Grid and fill in the Grid with an SQL Query. But i want to
have a Checkbox Column at First Column and don't know how to place it
there correctly.
Can anybody help me?
Thanks for your replies,
Sebastian
Paolo Manfrin
Hi Sebastian,you need to use the datatable that is bind to the grid.
Grid oGrid = null;
// init oGrid
oGrid.DataTable.Columns.Add(...)
cheers
paolo
NiCa78
Hi Paolo, I would like to add a column in my grid. I try to follow your instruction but it doesn't work.Please, find here below my code:
SwissAddonFramework.UI.Components.Folder f1 = SwissAddonFramework.UI.Components.Folder.CreateNew("COR_F1");
f1.Top = 10;f1.Width = 140;f1.Left = 10;f1.Height = 14;
f1.Value = "Options";
f1.AffectsFormMode = false;
SwissAddonFramework.UI.Components.Grid grid = SwissAddonFramework.UI.Components.Grid.CreateNew("COR_Grd1");
grid.FromPane = 99;
grid.ToPane = 99;
grid.SetSizeAndPosition(SwissAddonFramework.UI.Components.Matrix.GetFromUID(pVal.Form, "38"));
pVal.Form.AddItem(f1);
pVal.Form.AddItem(grid);
pVal.Form.Update();
f1.GroupWith("114");
f1.AddHandler_Click(SwissAddonFramework.UI.Components.ModeComponent.FormModes.ALL, new SwissAddonFramework.UI.EventHandling.ItemEvents.ClickEventHandler(delegate(SwissAddonFramework.UI.EventHandling.ItemEvents.Click eventVal) {
pVal.Form.Freeze(true);
//Get back the DocNum
string docNum = customize.UI.Components.TextEdit.GetFromUID(pVal.Form, "8").Value;
string puissMin = null;
string query2 = null;
//MessageBox.Show("DocNum : " + docNum, "OK");
string query ;
query = "SELECT T2.[U_sergi_puiss_min] FROM OQUT T0 INNER JOIN QUT1 T1 ON T0.DocEntry = T1.DocEntry INNER JOIN OITM T2 ON T1.ItemCode = T2.ItemCode WHERE T0.[DocNum] =@docNum and T1.[ItemCode] Like '%%TP%%'";
System.Data.SqlClient.SqlCommand cmd = null;
cmd = new System.Data.SqlClient.SqlCommand(query);
cmd.Parameters.AddWithValue("@docNum", docNum);
//execute query
{
using (System.Data.SqlClient.SqlDataReader sdr = customize.B1Connector.GetB1Connector().ExecuteQuery(cmd)) {
// MessageBox.Show("Read : " & sdr.Read().ToString(), "OK")
if (sdr.Read()) {
string outputString = null;
puissMin = sdr[0].ToString();
//MessageBox.Show("Puissance Min : " + puissMin, "OK");
} else {
//MessageBox.Show("KO : ", "OK")
}
}}
int myParsedInt = Int32.Parse(puissMin);
int myConvertedInt = Convert.ToInt32(puissMin);
String first_query;
first_query = "T2.[ItemCode],T2.[ItemName],T2.[U_sergi_tranch_min] As 'Puissance Minimun', T2.[U_sergi_tranch_max] As 'Puissance Maximum', T2.[U_sergi_tranch_inf] As 'Puissance Inférieur', T2.[U_sergi_tranch_sup] As 'Puissance Supérieur' FROM [dbo].[OITM] T2 WHERE T2.[ItemCode] Like '%%OPT%%' AND";
if (myConvertedInt > 500){
// MessageBox.Show("Puissance Min > 500 :", "OK");
query2 = @"SELECT " + first_query + " T2.[U_sergi_tranch_sup] = 500";
}
if (myConvertedInt > 300 && myConvertedInt <= 500){
// MessageBox.Show("Puissance Min > 500 :", "OK");
query2 = @"SELECT " + first_query + " T2.[U_sergi_tranch_min] = 300 AND T2.[U_sergi_tranch_max] = 500 OR T2.[U_sergi_tranch_sup] = 300";
}
if (myConvertedInt > 100 && myConvertedInt <= 300){
// MessageBox.Show("Puissance Min > 500 :", "OK");
query2 = @"SELECT " + first_query + " T2.[U_sergi_tranch_min] = 100 AND T2.[U_sergi_tranch_max] = 300";
}
if (myConvertedInt > 15 && myConvertedInt <= 100){
// MessageBox.Show("Puissance Min > 500 :", "OK");
query2 = @"SELECT " + first_query + " T2.[U_sergi_tranch_min] = 15 AND T2.[U_sergi_tranch_max] = 100 OR T2.[U_sergi_tranch_inf] = 100";
}
if (myConvertedInt > 4 && myConvertedInt <= 15){
// MessageBox.Show("Puissance Min > 500 :", "OK");
query2 = @"SELECT " + first_query + " T2.[U_sergi_tranch_min] = 4 AND T2.[U_sergi_tranch_max] = 15";
}
if (myConvertedInt > 1 && myConvertedInt <= 4){
// MessageBox.Show("Puissance Min > 500 :", "OK");
query2 = @"SELECT " + first_query + " T2.[U_sergi_tranch_min] = 1 AND T2.[U_sergi_tranch_max] = 4 OR T2.[U_sergi_tranch_inf] = 4";
}
if (myConvertedInt <= 1){
// MessageBox.Show("Puissance Min > 500 :", "OK");
query2 = @"SELECT " + first_query + " T2.[U_sergi_tranch_inf] = 1";
}
eventVal.Form.PaneLevel = 99;
grid.ExecuteQuery(query2);
grid.Columns["ItemCode"].Type = GridColumn.Types.TextEdit;
TextEditGridColumn tTyp;
tTyp = (TextEditGridColumn) grid.Columns["ItemCode"].SpecificGridColumn;
tTyp.LinkObjectType = "4";
[color=#ff0000]grid.DataTable.Columns.Add("add", SwissAddonFramework.UI.Components.DataColumn.DataColumnTypes.AlphaNumeric);[/color]
//grid.CollapseLevel = 1;
grid.AffectsFormMode = false;
pVal.Form.Freeze(false);
}));
return true;
Thanks for your replies, Nicolas
0
Please sign in to leave a comment.
Comments
0 comments