DataSetにDataTableの値を追加する方法ASP.NET C#Webformでforeachループを使用すると、実際にはgridviewが1つあり、 xlにのみダウンロードしてください。DataSetでDataTableの値を追加する方法C#Webformのすべてのforeachループを使用する方法C#Webform
xlボタンにエクスポートするコードは以下のとおりです。
foreach (GridViewRow row in gv_TotalAllReg.Rows)
{
if (row.RowType == DataControlRowType.DataRow)
{
bool isChecked = ((CheckBox)row.FindControl("chk_box")).Checked;
if (isChecked == true)
{
//var ds = new DataSet();
//var dt = new DataTable("RegistrationDetails");
int index = row.RowIndex;
bo.Para1 = "4";
bo.Para2 = "Innovation";
bo.Para3 = gv_TotalAllReg.DataKeys[index].Values[0].ToString();//Id
}
}
}
dt = bl.Admin_GetInnovationbaseonParaType(bo);
if (gv_TotalAllReg.Rows.Count > 0)
{
dt.TableName = "RegistrationDetails";
ds.Tables.Add(dt);
ExcelHelper.ToExcel(ds, "ApplicationDetails.xls", Page.Response);
btnExport.Visible = true;
}
は、実際にデータが最後に選択されたデータは、XLシートに表示され、XLシートに表示されていないことのGridViewに選択チェックボックスを上のベース。
ロジックが得られませんds.Tables.Add(dt);
foreachループごとにdsにdt
の値を追加しました。選択したすべてのデータがxlシートに必要です。なぜ最後にxlシートしか入っていないデータを選択するのか。代わりに、あなたは全体のDataTableからデータセットを追加することができますデータセットにのDataTableの各行を追加する
再び取って、最後に選択したデータのみ、ご質問の上に従った完全な答えを更新することができ、ここで追加し
DataTable
からデータを検索すると例があります。 @Bhuban –あなたは私のforeachループのロジックを確認することができますIDの正しいベースは、チェックボックスのデータを選択する必要があります。 @Bhuban –
add dt = bl.Admin_GetInnovationbaseonParaType(bo); inside if(isChecked == true) dtがDataTableだと思いますので、dtに行(DataRow)を追加する必要があります。 dtがDatatableの場合、あなたが今行っていることは、boを使ってforeachの最後に新しいDatatableを作成することです。それをforeach内に置くと毎回オブジェクトが作成されるので正確な結果が得られますが、データテーブルに行を追加すると、必要なすべてのレコードが取得されます。 –