[ad_1]
選択した行を別のテキスト ファイルに取得したいのですが、コードは選択した行ではなくすべての行を取得する
選択プロセスをどのように行うことができますか?
私が試したこと:
これはコントローラーのアクションです
C#
public ActionResult ConvertToTextfile() { string mySQL; DataTable table = new DataTable(); DataSet myDataSet = new DataSet(); mySQL = "Select * From MOUVEMSSE.Mouvem11 "; string connect = System.Configuration.ConfigurationManager.AppSettings["dsn_AS400"]; string conn_string = connect + "UID=" + HttpContext.Session["Username"] + ";PWD=" + HttpContext.Session["Password"] + ";"; db_tools.sg_connStr = conn_string; connection = db_tools.Connect(); table = db_tools.ExecuteSelectCommand(mySQL, CommandType.Text); myDataSet.Tables.Add(); string folderLocation = @"C:\Users\zarai\source\repos\Sms_Chauffeur\Sms_Chauffeur\Extractedfiles"; // your path to save the files for (int i = 0; i<table.Rows.Count; i++) // iterate each rows to get the value { string fileName = folderLocation + "\\" + "File-" + i + ".txt"; // file name for saving each row string contents = ""; foreach (DataColumn col in table.Columns) // iteate each column to get its corresponding value contents += table.Rows[i][col].ToString() + " "; // concatenating the contents System.IO.File.WriteAllText(fileName, contents); // create a text file and copy the contents } return View("data Extracted sucssessfuly"); }
そして、これはビューコードです
XML
<pre> <table id="example" class="display" style="width:100%"> <thead> <tr> <!-- <th>-</th>--> <th>DATE</th> <th>ORDBUS</th> <th>ORDSER</th> <th>SEQUEN</th> <th>HEUDEB</th> <th>HEUFIN</th> <th>Actions</th> </tr> </thead> <tbody> @foreach (DataRow row in Model.Tables[0].Rows) { <tr class="active-row"> <!-- <td><input type="checkbox" /> </td>--> <td>@row["DATMVT"]</td> <td>@row["ORDBUS"]</td> <td>@row["ORDSER"]</td> <td>@row["SEQUEN"]</td> <td>@row["HEUDEB"]</td> <td>@row["HEUFIN"]</td> <td> <button type="submit" class="btn btn-primary" value=Edit>EDIT</button> </td> </tr> } </tbody> </table>
C#
@using (Html.BeginForm("ConvertToTextfile", "Display", FormMethod.Get)) { <input type="submit" value="Submit" /> }
解決策 1
DataTable クラスは直接表示できないため、ユーザーが DT 内の行を選択したり、DT 自体が行を「選択」に関連付けたりするメカニズムはありません。
選択はユーザー インターフェイスの概念であり、DT コンテンツを表示して選択を続行できるようにするには、データ対応コントロールが必要です。
たとえば、Winforms DataGridView コントロールは、DGV が表示している実際の DataRow である DataBoundItem を持つ DataGridViewRow オブジェクトを含む SelectedRows コレクションを提供します。
解決策 2
ID を SQL クエリに追加します。たとえば、この行を変更します。
C#
mySQL = "Select * From MOUVEMSSE.Mouvem11 ";
これに:
C#
mySQL = "Select * From MOUVEMSSE.Mouvem11 where id=" + id;
[ad_2]
コメント