onais ahmer

onais ahmer

  • NA
  • 307
  • 5.1k

Get item text id and value to save in database

May 27 2018 11:06 PM
MY WHOLE CODE
  1. public class HomeController : Controller  
  2. {  
  3. string constr = "Connection String";  
  4. public ActionResult Index()  
  5. {  
  6. return View();  
  7. }  
  8. public ActionResult GetAllTableNames()  
  9. {  
  10. SqlConnection con = new SqlConnection(constr);  
  11. SqlCommand cmd = new SqlCommand("select CountryName,CountryId from Countries", con);  
  12. SqlDataAdapter da = new SqlDataAdapter(cmd);  
  13. DataTable dt = new DataTable();  
  14. da.Fill(dt);  
  15. var data = dt.AsEnumerable().Select(k => k["CountryName"].ToString());  
  16. return Json(data);  
  17. }  
  18. //public ActionResult GetAllColumnNames(string tbl)  
  19. //{  
  20. // SqlConnection con = new SqlConnection(constr);  
  21. // SqlCommand cmd = new SqlCommand("SELECT c.CountryId, c.CountryName, s.CityId,s.CityName FROM (Countries c INNER JOIN Cities s ON c.CountryId = s.StateId) where c.CountryName= @tbl ", con);  
  22. // SqlDataAdapter da = new SqlDataAdapter(cmd);  
  23. // cmd.Parameters.AddWithValue("@tbl", tbl);  
  24. // DataTable dt = new DataTable();  
  25. // da.Fill(dt);  
  26. // var data = dt.AsEnumerable().Select(k => k["CityName"].ToString());  
  27. // return Json(data);  
  28. //}  
  29. //Your c# code should be  
  30. public ActionResult GetAllColumnNames(string tbl) // At this tbl I get the country name i also want to get Country ID  
  31. {  
  32. SqlConnection con = new SqlConnection(constr);  
  33. SqlCommand cmd = new SqlCommand("SELECT c.CountryId, c.CountryName, s.CityId,s.CityName FROM (Countries c INNER JOIN Cities s ON c.CountryId = s.StateId) where c.CountryName= @tbl ", con);  
  34. SqlDataAdapter da = new SqlDataAdapter(cmd);  
  35. cmd.Parameters.AddWithValue("@tbl", tbl);  
  36. DataTable dt = new DataTable();  
  37. da.Fill(dt);  
  38. var data = from p in dt.AsEnumerable()  
  39. select new  
  40. {  
  41. CountryId = p.Field<int>("CountryId"),  
  42. CountryName = p.Field<string>("CountryName")  
  43. };  
  44. return Json(data);  
  45. }  
  46. public ActionResult GetTableData(string tableName, string columnNames)  
  47. {  
  48. SqlConnection con = new SqlConnection(constr);  
  49. SqlCommand cmd = new SqlCommand("select " + columnNames + " from " + tableName, con);  
  50. SqlDataAdapter da = new SqlDataAdapter(cmd);  
  51. DataTable dt = new DataTable();  
  52. da.Fill(dt);  
  53. string data = JsonConvert.SerializeObject(dt);  
  54. return Json(data);  
  55. }  
  56. }  
  57. }  
SCRIPT CODE
  1. $(function () {  
  2. $.ajax({  
  3. url: '@Url.Action("GetAllTableNames", "home")',  
  4. data: {},  
  5. type: 'post',  
  6. contentType: "application/json; charset=utf-8",  
  7. dataType: "json",  
  8. success: function (data) {  
  9. var ddl = $('#ddlTableNames');  
  10. var options = [];  
  11. for (var i = 0, len = data.length; i < len; ++i)  
  12. options.push('<option value="' + data[i] + '">' + data[i] + '</option>');  
  13. ddl.append(options.join(''));  
  14. },  
  15. error: function (a, b, c) {  
  16. console.log(a, b, c);  
  17. }  
  18. });  
  19. });  
  20. function populateColumns(ddl){  
  21. var table = ddl.value;  
  22. $.ajax({  
  23. url: '@Url.Action("GetAllColumnNames", "home")',  
  24. data: JSON.stringify({'tbl':table}),  
  25. type: 'post',  
  26. contentType: "application/json; charset=utf-8",  
  27. dataType: "json",  
  28. success: function (data) {  
  29. var ddl = $('#ddlColumnNames');  
  30. ddl.empty();  
  31. var options = [];  
  32. for (var i = 0, len = data.length; i < len; ++i)  
  33. options.push('<option value="' + data[i] + '">' + data[i] + '</option>');  
  34. ddl.append(options.join(''));  
  35. },  
  36. error: function (a, b, c) {  
  37. console.log(a, b, c);  
  38. }  
  39. });  
  40. }  
  41. function getdata() {  
  42. var table = $('#ddlTableNames').val();  
  43. var columns = $('#ddlColumnNames').val().join(',');  
  44. debugger;  
  45. $.ajax({  
  46. url: '@Url.Action("GetTableData", "home")',  
  47. data: JSON.stringify({ 'tableName': table, 'columnNames':columns }),  
  48. type: 'post',  
  49. contentType: "application/json; charset=utf-8",  
  50. dataType: "json",  
  51. success: function (data) {  
  52. debugger;  
  53. var json = JSON.parse(data);  
  54. generateTable(json)  
  55. },  
  56. error: function (a, b, c) {  
  57. console.log(a, b, c);  
  58. }  
  59. });  
  60. }  
  61. function generateTable(json) {  
  62. var $table = $('#tblDynamic');  
  63. $table.find('thead').empty()  
  64. $table.find('tbody').empty()  
  65. if (json && json.length > 0) {  
  66. var header = json[0];  
  67. var columns = [];  
  68. for (var col in header) {  
  69. columns.push('<th>' + col + '</th>');  
  70. }  
  71. $table.find('thead').append('<tr>' + columns.join('') + '</tr>');  
  72. var rows = [];  
  73. for (var i = 0; i < json.length; i++) {  
  74. var row = json[i];  
  75. var tds = [];  
  76. for (var col in row) {  
  77. tds.push('<td>' + row[col] + '</td>');  
  78. }  
  79. rows.push('<tr>' + tds.join() + '</tr>');  
  80. }  
  81. $table.find('tbody').append(rows.join(''));  
  82. }  
  83. }

Answers (4)