Wrox Home  
Search P2P Archive for: Go

  Return to Index  

aspx_professional thread: Urgent : Adding columns datagrid


Message #1 by "FERRERES" <wferreres@n...> on Mon, 20 Jan 2003 17:43:36
Hello,
i'm using a datagrid in Web user Control called in an aspx page.
I create the columns and rows dynamically using this code.
My problem is : is there a way to create the datagrid columns on a 
postback,
without binding to a specific datasource ?
private void InsertColumns(TablePreferences prefTable,object[]
objInfo,FieldInfo[] m_FieldInfo)

{

Page.Trace.Warn("Table InsertColumns");

Column[] theColumns = prefTable.Columns;

int prefColumnPosition;

for(int i=0;i<m_FieldInfo.Length;i++)

{

if (m_FieldInfo[i]!=null)

{

string sFieldName = m_FieldInfo[i].Name.ToUpper();

prefColumnPosition = prefTable.GetColumnPosition(sFieldName);

if (prefColumnPosition != -1)

{

Type thisType = m_FieldInfo[i].FieldType;

m_datatable.Columns.Add(sFieldName,thisType);

// Text column

if (theColumns[prefColumnPosition].Type.Equals(Column.ColumnType.Text))

{

BoundColumn adddedBoundCol = new BoundColumn();

adddedBoundCol.HeaderText = m_FieldInfo[i].Name;

adddedBoundCol.DataField = m_FieldInfo[i].Name;

adddedBoundCol.SortExpression = m_FieldInfo[i].Name;

adddedBoundCol.Visible = theColumns[prefColumnPosition].Visible;

dtgComponent.Columns.Add(adddedBoundCol);

}

// Hyperlink column

if (theColumns[prefColumnPosition].Type.Equals
(Column.ColumnType.Hyperlink))

{

HyperLinkColumn adddedHyperLinkCol = new HyperLinkColumn();

adddedHyperLinkCol.HeaderText = m_FieldInfo[i].Name;

adddedHyperLinkCol.DataTextField = m_FieldInfo[i].Name;

adddedHyperLinkCol.SortExpression = m_FieldInfo[i].Name;

adddedHyperLinkCol.Visible = theColumns[prefColumnPosition].Visible;

adddedHyperLinkCol.NavigateUrl = "javascript:void(0);";

dtgComponent.Columns.Add(adddedHyperLinkCol);

}

} // if (prefColumnPosition != -1)

} // if (m_FieldInfo[i]!=null)

} // for(int i=0;i<m_FieldInfo.Length;i++)

}



private void InsertRows(TablePreferences prefTable,object[]
objInfo,FieldInfo[] m_FieldInfo)

{

Page.Trace.Warn("Table InsertRows");

for (int i=0;i<objInfo.Length;i++)

{

DataRow drList = m_datatable.NewRow();

for(int j=0;j<m_FieldInfo.Length;j++)

{

if (m_FieldInfo[j]!=null)

{

string sFieldName = m_FieldInfo[j].Name.ToUpper();

if (m_datatable.Columns.Contains(sFieldName))

{

drList[sFieldName] = myIntrospec.GetValue(m_FieldInfo[j],objInfo[i]);

}

}

}

m_datatable.Rows.Add(drList);

}

}






  Return to Index