I was wondering if it was possible to use a single datasource to be able to build a Single Band Hierarchy view. Basically I am just wanting to do a "group by" to show certain high level information and then be able to expand the drop down which could show detail level information.
From what I have seen, everything is using multiple datasources. I am trying to build all of this stuff dynamically instead of using the designer.
Here is an example of the data I am dealing with:
Item Number Description
1 Test 1
1 Test 2
1 Test 3
2 Test 1
2 Test 2
3 Test 3
I basically want to group these items, but by using a self reference datatable.
Can someone from Infragistics help me with this?
I am trying to reference their example, but the only difference that I can see between what I am trying to accomplish and what they are doing, is they are using an access data source where I am trying to use a dataset.
Hi,
I've never used self referencing nor have I ever set up a WHDG dynamically so we'll have to wait for an Infragistics person to respond.
Ed
What am I doing wrong? I am getting my three columns but I am not getting any sub columns....
protected void Page_Load(object sender, EventArgs e)
{ ds = new DataSet(); this.CreateColumns(); NFG_DAL test = new NFG_DAL(); test.OpenConnection(); ds = test.GetLineplan(); this.WebHierarchicalDataGrid1.DataKeyFields = "KEY_ITEM_NUMBER"; this.WebHierarchicalDataGrid1.InitialDataBindDepth = 0; this.WebHierarchicalDataGrid1.InitialExpandDepth = 0; this.WebHierarchicalDataGrid1.ExpandCollapseAnimation.SlideOpenDirection = Infragistics.Web.UI.SlideDirection.Auto; this.WebHierarchicalDataGrid1.ExpandCollapseAnimation.SlideOpenDuration = 300; this.WebHierarchicalDataGrid1.ExpandCollapseAnimation.SlideCloseDirection = Infragistics.Web.UI.SlideDirection.Auto; this.WebHierarchicalDataGrid1.ExpandCollapseAnimation.SlideCloseDuration = 300; this.WebHierarchicalDataGrid1.AutoGenerateBands = false; AddBands(); if (!this.IsPostBack) { Infragistics.Web.UI.DataSourceControls.WebHierarchicalDataSource dataSource = new Infragistics.Web.UI.DataSourceControls.WebHierarchicalDataSource(); dataSource.ID = "WDS"; //dataSource.DataSource = ds; Infragistics.Web.UI.DataSourceControls.DataView view = new Infragistics.Web.UI.DataSourceControls.DataView(); view.DataSourceID = dataSource.ID; view.ID = "LinePlanDS_View"; view.DataSource = ds; dataSource.DataViews.Add(view); Infragistics.Web.UI.DataSourceControls.DataRelation dr = new Infragistics.Web.UI.DataSourceControls.DataRelation(); dr.ChildColumns = new string[] {"SPEC_STYLE_NUM", "SPEC_STYLE_DESCRIPTION"}; dr.ChildDataViewID = "LinePlanDS_View"; dr.ParentColumns = new string[] { "KEY_ITEM_NUMBER", "KEY_ITEM_DESCRIPTION", "TOP_30_KI_GROUP_ID" }; dr.ParentDataViewID = "LinePlanDS_View"; dataSource.DataRelations.Add(dr); cont.Controls.Add(dataSource); this.WebHierarchicalDataGrid1.DataSource = ds; } test.CloseConnection(); } private void AddBands() { Band styleDetail = new Band(); styleDetail.DataKeyFields = "SPEC_STYLE_NUM, SPEC_STYLE_DESCRIPTION"; styleDetail.Columns.Add(AddColumn("SPEC_STYLE_NUM", "Style #")); styleDetail.Columns.Add(AddColumn("SPEC_STYLE_DESCRIPTION", "Style Description")); styleDetail.DataMember = "LinePlanDS_View"; styleDetail.Key = "SPEC_STYLE_NUM, SPEC_STYLE_DESCRIPTION"; styleDetail.IsSelfReference = true; this.WebHierarchicalDataGrid1.Bands.Add(styleDetail); } private void CreateColumns() { if (!this.IsPostBack) { this.WebHierarchicalDataGrid1.Columns.Add(AddColumn("KEY_ITEM_NUMBER", "KI #")); this.WebHierarchicalDataGrid1.Columns.Add(AddColumn("KEY_ITEM_DESCRIPTION", "Key Item Description")); this.WebHierarchicalDataGrid1.Columns.Add(AddColumn("TOP_30_KI_GROUP_ID", "Top 30 Group")); // this.WebHierarchicalDataGrid1.Columns.Add(Column("SPEC_STYLE_NUM", "Style #")); // this.WebHierarchicalDataGrid1.Columns.Add(Column("SPEC_STYLE_DESCRIPTION", "Style Description")); } } private BoundDataField AddColumn(string fieldName, string headerText) { BoundDataField field = new BoundDataField(true); field.Key = "Key_" + fieldName; field.DataFieldName = fieldName; field.Header.Text = headerText; return field; }
{
ds = new DataSet();
this.CreateColumns();
NFG_DAL test = new NFG_DAL();
test.OpenConnection();
ds = test.GetLineplan();
this.WebHierarchicalDataGrid1.DataKeyFields = "KEY_ITEM_NUMBER";
this.WebHierarchicalDataGrid1.InitialDataBindDepth = 0;
this.WebHierarchicalDataGrid1.InitialExpandDepth = 0;
this.WebHierarchicalDataGrid1.ExpandCollapseAnimation.SlideOpenDirection = Infragistics.Web.UI.SlideDirection.Auto;
this.WebHierarchicalDataGrid1.ExpandCollapseAnimation.SlideOpenDuration = 300;
this.WebHierarchicalDataGrid1.ExpandCollapseAnimation.SlideCloseDirection = Infragistics.Web.UI.SlideDirection.Auto;
this.WebHierarchicalDataGrid1.ExpandCollapseAnimation.SlideCloseDuration = 300;
this.WebHierarchicalDataGrid1.AutoGenerateBands = false;
AddBands();
if (!this.IsPostBack)
Infragistics.Web.UI.DataSourceControls.WebHierarchicalDataSource dataSource = new Infragistics.Web.UI.DataSourceControls.WebHierarchicalDataSource();
dataSource.ID = "WDS";
//dataSource.DataSource = ds;
Infragistics.Web.UI.DataSourceControls.DataView view = new Infragistics.Web.UI.DataSourceControls.DataView();
view.DataSourceID = dataSource.ID;
view.ID = "LinePlanDS_View";
view.DataSource = ds;
dataSource.DataViews.Add(view);
Infragistics.Web.UI.DataSourceControls.DataRelation dr = new Infragistics.Web.UI.DataSourceControls.DataRelation();
dr.ChildColumns = new string[] {"SPEC_STYLE_NUM", "SPEC_STYLE_DESCRIPTION"};
dr.ChildDataViewID = "LinePlanDS_View";
dr.ParentColumns = new string[] { "KEY_ITEM_NUMBER", "KEY_ITEM_DESCRIPTION", "TOP_30_KI_GROUP_ID" };
dr.ParentDataViewID = "LinePlanDS_View";
dataSource.DataRelations.Add(dr);
cont.Controls.Add(dataSource);
this.WebHierarchicalDataGrid1.DataSource = ds;
}
test.CloseConnection();
private void AddBands()
Band styleDetail = new Band();
styleDetail.DataKeyFields = "SPEC_STYLE_NUM, SPEC_STYLE_DESCRIPTION";
styleDetail.Columns.Add(AddColumn("SPEC_STYLE_NUM", "Style #"));
styleDetail.Columns.Add(AddColumn("SPEC_STYLE_DESCRIPTION", "Style Description"));
styleDetail.DataMember = "LinePlanDS_View";
styleDetail.Key = "SPEC_STYLE_NUM, SPEC_STYLE_DESCRIPTION";
styleDetail.IsSelfReference = true;
this.WebHierarchicalDataGrid1.Bands.Add(styleDetail);
private void CreateColumns()
this.WebHierarchicalDataGrid1.Columns.Add(AddColumn("KEY_ITEM_NUMBER", "KI #"));
this.WebHierarchicalDataGrid1.Columns.Add(AddColumn("KEY_ITEM_DESCRIPTION", "Key Item Description"));
this.WebHierarchicalDataGrid1.Columns.Add(AddColumn("TOP_30_KI_GROUP_ID", "Top 30 Group"));
// this.WebHierarchicalDataGrid1.Columns.Add(Column("SPEC_STYLE_NUM", "Style #"));
// this.WebHierarchicalDataGrid1.Columns.Add(Column("SPEC_STYLE_DESCRIPTION", "Style Description"));
private BoundDataField AddColumn(string fieldName, string headerText)
BoundDataField field = new BoundDataField(true);
field.Key = "Key_" + fieldName;
field.DataFieldName = fieldName;
field.Header.Text = headerText;
return field;