[英]copy one or more selected row from Janus Grid to DataRowCollection or DataRow[]
我有一個 Janus 網格,每行都有一個復選框,我想將選定的行復制到 DataRowCollection 或 DataRow[]。這是我的方法,但沒有完成也沒有用:這個網格在一個字段上也有組,我使用2 組和兒童循環。
gridEX1.DataSource = dtALL;//dtALL is a data table fill with select sql command
DataRowCollection dr
DataRow dr2=dtALL.NewRow();
foreach (Janus.Windows.GridEX.GridEXRow g in gridEX1.GetRows())
{
foreach (Janus.Windows.GridEX.GridEXRow r in g.GetChildRows())
{
if ((bool)r.Cells["sendALL"].Value == true && r.Cells["DocTitle"].Value.ToString() == DocTitle)
{
for(int i=0;i<r.Cells.Count;i++)
if(r.Cells[i].GetType()==typeof(TextBox))
{
dr2[i] = r.Cells[i].Value;
}
dr.Add(dr2);
}
}
}
我想出了這種方法並解決了我的問題:
DataTable dt1copy = new DataTable();
dt1copy.Columns.Add("DocTitle");
dt1copy.Columns.Add("DocDetails");
dt1copy.Columns.Add("ExpLenght");
dt1copy.Columns.Add("ReqDate");
dt1copy.Columns.Add("ReqTypeDetailsTitle");
dt1copy.Columns.Add("ReqTypeTitle");
dt1copy.Columns.Add("UnitsTitle");
dt1copy.Columns.Add("DocType");
dt1copy.Columns.Add("DocSuffix");
dt1copy.Columns.Add("FKGID");
dt1copy.Columns.Add("Id");//id of docinreq tbl
DataRow dr2;
DataRowCollection dr = dt1copy.Rows;
string DocTitle = gridEX1.CurrentRow.Cells["DocTitle"].Value.ToString();
foreach (Janus.Windows.GridEX.GridEXRow g in gridEX1.GetRows())
{
foreach (Janus.Windows.GridEX.GridEXRow r in g.GetChildRows())
{
try
{
if ((bool)r.Cells["sendALL"].Value == true && r.Cells["DocTitle"].Value.ToString() == DocTitle)
{
dr2 = dt1copy.NewRow();
for (int i = 0, j = 0; i < r.Cells.Count; i++)
{
if (r.Cells[i].Column.BoundMode != Janus.Windows.GridEX.ColumnBoundMode.UnboundFetch)//select only bounded column from grid
{
dr2[j] = r.Cells[i].Value.ToString();
j++;
}
}
dt1copy.Rows.Add(dr2);
}
}
catch (Exception) { }
}
}
dr = dt1copy.Rows;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.