我有一个datagridview,我从数据表中填充它,然后从webservice查询(针对SalesForce云系统)检索它的数据。添加第二个数据表作为datagridview的行来源
本质上,我们想要显示试图从SalesForce案例中删除附件的结果,这些案例已经被用户放在那里,目前我们查询一个名为case
的SalesForce XML webservice,并且我们想添加查询第二个新的SalesForce对象叫做credit case
。
从一个名为个案的对象中获取数据并将其显示在Windows窗体datagridview控件中一直工作正常。
现在我们要添加另一个对象(我们称之为creditCases),所以我查询所有设置,添加了另一个带有字段和数据类型的任务对象,等等。
一旦数据集填充我们设置使用gvTaskCases.DataSource = dtCases;
在DataGridView的数据源,但当然,我现在有一个数据源第二(具有不同列数),我要添加到表中。
如果我用我的新数据表(gvTaskCases.DataSource = dtcreditCases
)这样做,我该如何阻止它替换现有数据表中的数据?
CODE:
gvTaskCases.DataSource = null;
dtCases.Rows.Clear();
foreach (task_cases item in cases)
{
DataRow drCases = dtCases.NewRow();
// Then add the new row to the collection.
drCases["Case ID"] = item.c_Id;
drCases["Case Number"] = item.c_Number;
drCases["Case Topic"] = item.c_Topic;
drCases["Case SubTopic"] = item.c_Subtopic;
drCases["Account Number"] = item.c_CustomerNumber;
drCases["Additional Info"] = item.c_AdditionalInfo;
drCases["Closed Date"] = Convert.ToDateTime(item.c_ClosedDate).ToString("dd/MM/yyyy");
drCases["Attachment"] = item.c_Attachment;
drCases["Content Type"] = item.c_ContentType;
drCases["Detach Status"] = item.c_Status;
drCases["Document Type"] = item.c_DocumentType;
drCases["Imaging Directory"] = item.c_ImagingDSXDirectory;
drCases["Imaging Document"] = item.c_ImagingDocument;
dtCases.Rows.Add(drCases);
}
gvTaskCases.DataSource = dtCases;
gvTaskCases.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing;
gvTaskCases.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
foreach (task_creditcases item in creditCases)
{
DataRow drCases = dtCases.NewRow();
// Then add the new row to the collection.
drCases["Case ID"] = item.c_Id;
drCases["Case Number"] = item.c_Name; // SalesForece Credit Case Object CASE NUMBER;
drCases["Account Number"] = item.c_Account__c;
drCases["Closed Date"] = Convert.ToDateTime(item.c_Closed_Date__c).ToString("dd/MM/yyyy");
drCases["Attachment"] = item.c_Imaging_Document_Attached__c;
drCases["Detach Status"] = item.c_Status__c;
drCases["Document Type"] = item.c_Document_Type__c;
drCases["Imaging Directory"] = item.c_Directories__c;
drCases["Imaging Document"] = item.c_Imaging_Document;
dtCases.Rows.Add(drCases);
}
// add the new records:
// Adjust size & hide columns that aren't needed
gvTaskCases.Columns[0].Visible = false;
gvTaskCases.Columns[11].Visible = false;
gvTaskCases.Columns[12].Visible = false;
gvTaskCases.Columns[13].Visible = false;
要同时显示在相同的旧数据和新数据电网在同一时间?你的新数据结构如何? –
好吧,它非常相似,只是可能需要在我的数据表中添加几个空白列或空列...... –
@KingKing:我编辑了我的问题以给出更多的解释,并添加了代码块,隐藏一些列是我想添加第二个数据表的地方 –