9CBS - Document Center - .NET title to DataGrid plus horizontal longitudinal total (realization in DataTable, DataAding) Dragonsuc (original) keyword DataTable
Is there a final result if implemented? ?
Protected system.web.ui.webcontrols.dataGrid DataGrid1;
///
/// Data Sources
/// summary>
DataSet CreateDataSource ()
{
DataTable DT = New DataTable ();
DataRow DR;
Dt.columns.Add (New Datacolumn ("Name", TypeOf (String));
Dt.columns.add (New Datacolumn ("Value1", TypeOf (INT32));
Dt.columns.add (New Datacolumn ("Value2", TypeOf (INT32)));
Dt.columns.add (New Datacolumn ("Value3", TypeOf (INT32));
Dt.columns.add (New Datacolumn ("Value4", TypeOf (INT32));
For (int i = 0; i <10; i )
{
DR = DT.NEWROW ();
DR [0] = I.toTOString () "Name";
DR [1] = i;
DR [2] = i 1;
DR [3] = i 2;
DR [4] = i 3;
DT.ROWS.ADD (DR);
}
Dataset mydata = new dataset ();
MyData.tables.Add (DT);
Return mydata;
}
Private Void Page_Load (Object Sender, System.EventArgs E)
{
/ / Place the user code here to initialize the page
Dataset mydata = createDataSource ();
// DataGrid1.datasource = mydata;
// DataGrid1.databind ();
DataTable myTable = new dataable ();
Datacolumn mycolum;
Foreach (datacolumn nowdatacolumn in mydata.tables [0] .columns)
{
Mycolum = new datacolumn ();
mycolum.datatype = nowDatacolumn.DataType;
Mycolum.columnname = nowDatacolumn.columnname;
MyTable.Columns.Add (MyColum);
}
Mycolum = new datacolumn ();
MyColum.DataType = system.type.gettype ("System.Int32");
Mycolum.columnname = "Total per line";
MyTable.Columns.Add (MyColum);
DataRow acountrow;
INT Datacolumns = mydata.tables [0] .columns.count;
Foreach (DataRow Nowrow In MyData.tables [0] .ROWS) {
Acountrow = mytable.newrow ();
Acountrow.itemarray = NOWROW.ITEMARRAY;
// Total per line
GetrowAccount (AcountRow, 1, 5, Datacolumns);
MyTable.Rows.Add (ACOUNTROW);
}
// Generate the total
Acountrow = mytable.newrow ();
ACOUNTROW [0] = "Agreement";
For (int count = 1; count Foreach (DataRow Nowrow In MyTable.Rows) { IF (! acountrow.isnull (count)) { IF (! acountrow.isnull (count)) ACOUNTROW [count] = convert.Toint32 (ACOUNTROW [count]) Convert.Toint32 (nowrow [count]); } Else acountrow [count] = norow [count] ;; } MyTable.Rows.Add (ACOUNTROW); DataGrid1.datasource = MyTable; DataGrid1.databind (); } /// /// Total per line /// summary> Private Void Gtrowaccount (DataRow AcountRow, Int Begincol, Int Endcol, Int Acountcol) { For (int I = begincol; i { if (! ACOUNTROW.INULL (Accountcol) { IF (! acountrow.isnull (i)) ACOUNTROW [Accountcol] = Convert.Toint32 (ACOUNTROW [Accountcol]) Convert.Toint32 (ACOUNTROW [I]); } Else AcountRow [Accountcol] = ACOUNTROW [i]; } } Disadvantages: Accessing all the data is not very good There are other ways if there is a better way, please tell me.