Advertisement
Guest User

Untitled

a guest
Feb 27th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.01 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI;
  6. using System.Web.UI.WebControls;
  7. using HCA_QualityModel;
  8.  
  9.  
  10. public partial class Admin : System.Web.UI.Page
  11. {
  12. static HCA_QualityEntities database = new HCA_QualityEntities();
  13. static object grvMachinesQuery = (from m in database.Machines
  14. from d in database.Workcenters
  15. where m.WorkcenterFK == d.id
  16. select
  17. new { id = m.id, MachineName = m.MachineName, WorkCenterFK = d.WorkCenterName });
  18. protected void Page_Load(object sender, EventArgs e)
  19. {
  20. //bind the gridview on intial page load
  21. if (!Page.IsPostBack) bindGridViewData();
  22. }
  23. protected void bindGridViewData()
  24. {
  25. //Data binds for gridviews and ddl's
  26.  
  27. grvMachines.DataSource = grvMachinesQuery;
  28. grvWorkCenters.DataSource = (from w in database.Workcenters select w);
  29. grvUsers.DataSource = (from u in database.Users select u);
  30. ddlAddDept.DataSource = grvWorkCenters.DataSource;
  31. ddlAddDept.DataValueField = "id";
  32. ddlAddDept.DataTextField = "WorkCenterName";
  33. DataBind();
  34. }
  35. //Adds new data to the db, then rebinds the griviews to the db
  36. #region Submit Buttons
  37. protected void btnSubmitMachine_Click(object sender, EventArgs e)
  38. {
  39. //add new machine to the database
  40.  
  41. Machine temp = new Machine();
  42. temp.MachineName = txtAddMachine.Text;
  43. temp.WorkcenterFK = Int32.Parse(ddlAddDept.SelectedValue);
  44. database.Machines.AddObject(temp);
  45. database.SaveChanges();
  46. bindGridViewData();
  47.  
  48. }
  49. protected void btnSubmitDept_Click(object sender, EventArgs e)
  50. {
  51. //add new workcenter to database
  52.  
  53. Workcenter temp = new Workcenter();
  54. temp.WorkCenterName = txtAddDept.Text;
  55. database.Workcenters.AddObject(temp);
  56. database.SaveChanges();
  57. bindGridViewData();
  58. }
  59. protected void btnUserSubmit_Click(object sender, EventArgs e)
  60. {
  61. //add new user to the database
  62.  
  63. HCA_QualityModel.User temp = new User();
  64. temp.Username = txtAddUser.Text;
  65. temp.Password = txtAddPassword.Text;
  66. database.Users.AddObject(temp);
  67. database.SaveChanges();
  68. bindGridViewData();
  69. }
  70. #endregion
  71. //Handles Updating, editing, and deleting Gridview Controls
  72. #region Gridview machines
  73. protected void grvMachines_RowDataBound(object sender, GridViewRowEventArgs e)
  74. {
  75.  
  76. DropDownList temp = (DropDownList)(e.Row.FindControl("ddlDept"));
  77. if (temp != null)
  78. {
  79. temp.DataSource = (from w in database.Workcenters select w);
  80. temp.DataTextField = "WorkCenterName";
  81. temp.DataValueField = "id";
  82. temp.DataBind();
  83. }
  84.  
  85. }
  86. protected void grvMachines_RowDeleting(object sender, GridViewDeleteEventArgs e)
  87. {
  88.  
  89. int id = Int32.Parse(((Label)grvMachines.Rows[e.RowIndex].FindControl("lblId") as Label).Text);
  90. database.Machines.DeleteObject(((Machine)(from m in database.Machines where m.id == id select m).Single()));
  91. database.SaveChanges();
  92. bindGridViewData();
  93. }
  94. protected void grvMachines_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
  95. {
  96.  
  97. grvMachines.EditIndex = -1;
  98. bindGridViewData();
  99. }
  100. protected void grvMachines_RowEditing(object sender, GridViewEditEventArgs e)
  101. {
  102. grvMachines.EditIndex = e.NewEditIndex;
  103. bindGridViewData();
  104. }
  105. protected void grvMachines_RowUpdating(object sender, GridViewUpdateEventArgs e)
  106. {
  107.  
  108.  
  109. //Gridviews have no data on postback from events, rebinding looses the selected values from edit mode.
  110.  
  111. bindGridViewData();
  112.  
  113. DropDownList dept = (DropDownList)grvMachines.Rows[grvMachines.EditIndex].FindControl("ddlDept");
  114. TextBox name = (TextBox)grvMachines.Rows[grvMachines.EditIndex].FindControl("txtMachine");
  115. Int32 id = (Convert.ToInt32(((Label)grvMachines.Rows[grvMachines.EditIndex].FindControl("lblId")).Text));
  116.  
  117. //Working Code to update the database, recieving incorrect data from controls due to rebinding
  118. HCA_QualityEntities database = new HCA_QualityEntities();
  119. Machine temp = (from m in database.Machines where m.id == id select m).First();
  120. temp.MachineName = (name.Text);
  121. temp.WorkcenterFK = Int32.Parse(dept.SelectedValue);
  122. database.SaveChanges();
  123. grvMachines.EditIndex = -1;
  124. bindGridViewData();
  125. }
  126. #endregion
  127. }
  128.  
  129. <%@ Page Title="" Language="C#" MasterPageFile="~/site.master" AutoEventWireup="true"
  130. CodeFile="Admin.aspx.cs" Inherits="Admin" %>
  131.  
  132. <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
  133. </asp:Content>
  134. <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
  135. <table style="width:800px; vertical-align:top;">
  136. <tr style="width:800px;">
  137. <td style="width:230px; height:90px;">
  138. Add New Machine:
  139. <br />
  140. &nbsp;Machine&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dept
  141. <br />
  142. <asp:TextBox ID="txtAddMachine" runat="server" Width="70px"></asp:TextBox>
  143. <asp:DropDownList ID="ddlAddDept" runat="server" Width="110px">
  144. </asp:DropDownList>
  145. <br />
  146. <asp:Button ID="btnSubmitMachine" runat="server" Text="Submit"
  147. onclick="btnSubmitMachine_Click" />
  148. </td>
  149. <td style="width:190px; height:90px;">
  150. Add New Dept:
  151. <br />
  152. Dept Name
  153. <br />
  154. <asp:TextBox ID="txtAddDept" runat="server" Width="100px"></asp:TextBox>
  155. <br />
  156. <asp:Button ID="btnSubmitDept" runat="server" Text="Submit"
  157. onclick="btnSubmitDept_Click" />
  158. </td>
  159. <td style="width:250px; height:90px;">
  160. Add New User:
  161. <br />
  162. &nbsp;Username&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Password
  163. <br />
  164. <asp:TextBox ID="txtAddUser" runat="server" Width="90px"></asp:TextBox>
  165. <asp:TextBox ID="txtAddPassword" runat="server" Width="90px"></asp:TextBox>
  166. <br />
  167. <asp:Button ID="btnUserSubmit" runat="server" Text="Submit"
  168. onclick="btnUserSubmit_Click" />
  169. </td>
  170. </tr>
  171. <tr style="width:800px; vertical-align:top;">
  172. <td style="width:230px;">
  173. <asp:GridView ID="grvMachines" runat="server" AutoGenerateColumns="False"
  174. Width="230px" onrowdeleting="grvMachines_RowDeleting"
  175. onrowediting="grvMachines_RowEditing"
  176. onrowcancelingedit="grvMachines_RowCancelingEdit"
  177. onrowupdating="grvMachines_RowUpdating"
  178. onrowdatabound="grvMachines_RowDataBound"
  179. EnableViewState="False">
  180. <Columns>
  181. <asp:TemplateField Visible="false">
  182. <ItemTemplate>
  183. <asp:Label ID="lblId" runat="server" Text='<%# Eval("id") %>'></asp:Label>
  184. </ItemTemplate>
  185. <EditItemTemplate>
  186. <asp:Label ID="lblId" runat="server" Text='<%# Eval("id") %>'></asp:Label>
  187. </EditItemTemplate>
  188. </asp:TemplateField>
  189. <asp:TemplateField HeaderText="Machine">
  190. <ItemTemplate>
  191. <asp:Label ID="lblMachine" runat="server" Text='<%# Eval("MachineName") %>'></asp:Label>
  192. </ItemTemplate>
  193. <EditItemTemplate>
  194. <asp:TextBox ID="txtMachine" runat="server" Text='<%# Eval("MachineName") %>'></asp:TextBox>
  195. </EditItemTemplate>
  196. <ControlStyle Width="50px" />
  197. </asp:TemplateField>
  198. <asp:TemplateField HeaderText="Dept">
  199. <ItemTemplate>
  200. <asp:Label ID="lblDept" runat="server" Text='<%# Eval("WorkcenterFK") %>'></asp:Label>
  201. </ItemTemplate>
  202. <EditItemTemplate>
  203. <asp:DropDownList ID="ddldept" runat="server">
  204. </asp:DropDownList>
  205. </EditItemTemplate>
  206. <ControlStyle Width="120px" />
  207. </asp:TemplateField>
  208. <asp:CommandField HeaderText="Actions" ShowEditButton="true" ShowDeleteButton="True"
  209. ControlStyle-Width="50px" CausesValidation="False" >
  210. </asp:CommandField>
  211. </Columns>
  212. </asp:GridView>
  213. </td>
  214. <td style="width:170px;">
  215. <asp:GridView ID="grvWorkCenters" runat="server" AutoGenerateColumns="False"
  216. Width="170px">
  217. <Columns>
  218. <asp:TemplateField HeaderText="id" Visible="false">
  219. <ItemTemplate>
  220. <asp:Label ID="lblId" runat="server" Text='<%# Eval("id") %>'></asp:Label>
  221. </ItemTemplate>
  222. <EditItemTemplate>
  223. <asp:Label ID="lblId" runat="server" Text='<%# Eval("id") %>'></asp:Label>
  224. </EditItemTemplate>
  225. </asp:TemplateField>
  226. <asp:TemplateField HeaderText="WorkCenter">
  227. <ItemTemplate>
  228. <asp:Label ID="lblWorkcenter" runat="server" Text='<%# Eval("WorkCenterName") %>'></asp:Label>
  229. </ItemTemplate>
  230. <EditItemTemplate>
  231. <asp:TextBox ID="txtWorkcenter" runat="server" Text='<%# Eval("WorkCenterName") %>'></asp:TextBox>
  232. </EditItemTemplate>
  233. <ControlStyle Width="75px" />
  234. </asp:TemplateField>
  235. <asp:CommandField HeaderText="Actions" ShowEditButton="true" ShowDeleteButton="true"
  236. ControlStyle-Width="50px" CausesValidation="False" />
  237. </Columns>
  238. </asp:GridView>
  239. </td>
  240. <td style="width:290px;">
  241. <asp:GridView ID="grvUsers" runat="server" AutoGenerateColumns="False"
  242. Width="290px">
  243. <Columns>
  244. <asp:TemplateField HeaderText="id" Visible="false">
  245. <ItemTemplate>
  246. <asp:Label ID="lblId" runat="server" Text='<%# Eval("id") %>'></asp:Label>
  247. </ItemTemplate>
  248. <EditItemTemplate>
  249. <asp:TextBox ID="txtId" runat="server" Text='<%# Eval("id") %>'></asp:TextBox>
  250. </EditItemTemplate>
  251. </asp:TemplateField>
  252. <asp:TemplateField HeaderText="User">
  253. <ItemTemplate>
  254. <asp:Label ID="lblUser" runat="server" Text='<%# Eval("Username") %>'></asp:Label>
  255. </ItemTemplate>
  256. <EditItemTemplate>
  257. <asp:TextBox ID="txtUser" runat="server" Text='<%# Eval("Username") %>'></asp:TextBox>
  258. </EditItemTemplate>
  259. <ControlStyle Width="120px" />
  260. </asp:TemplateField>
  261. <asp:TemplateField HeaderText="Password">
  262. <ItemTemplate>
  263. <asp:Label ID="lblPassword" runat="server" Text='<%# Eval("Password") %>'></asp:Label>
  264. </ItemTemplate>
  265. <EditItemTemplate>
  266. <asp:TextBox ID="txtPassword" runat="server" Text='<%# Eval("Password") %>'></asp:TextBox>
  267. </EditItemTemplate>
  268. <ControlStyle Width="120px" />
  269. </asp:TemplateField>
  270. <asp:CommandField HeaderText="Actions" ShowEditButton="true" ShowDeleteButton="true"
  271. ControlStyle-Width="50px" CausesValidation="false" />
  272. </Columns>
  273. </asp:GridView>
  274. </td>
  275. </tr>
  276. </table>
  277.  
  278. </asp:Content>
  279.  
  280. using System;
  281. using System.Collections.Generic;
  282. using System.Linq;
  283. using System.Web;
  284. using System.Web.UI;
  285. using System.Web.UI.WebControls;
  286. using HCA_QualityModel;
  287.  
  288.  
  289. public partial class Admin : System.Web.UI.Page
  290. {
  291. static HCA_QualityEntities database = new HCA_QualityEntities();
  292. protected void Page_Load(object sender, EventArgs e)
  293. {
  294. //bind the gridview on intial page load
  295. if (!Page.IsPostBack) bindGridViewData();
  296. }
  297. protected void bindGridViewData()
  298. {
  299.  
  300. static object grvMachinesQuery = (from m in database.Machines
  301. from d in database.Workcenters
  302. where m.WorkcenterFK == d.id
  303. select
  304. new { id = m.id, MachineName = m.MachineName, WorkCenterFK = d.WorkCenterName });
  305.  
  306. //Data binds for gridviews and ddl's
  307.  
  308. grvMachines.DataSource = grvMachinesQuery;
  309. grvWorkCenters.DataSource = (from w in database.Workcenters select w);
  310. grvUsers.DataSource = (from u in database.Users select u);
  311. ddlAddDept.DataSource = grvWorkCenters.DataSource;
  312. ddlAddDept.DataValueField = "id";
  313. ddlAddDept.DataTextField = "WorkCenterName";
  314. DataBind();
  315. }
  316.  
  317. //Adds new data to the db, then rebinds the griviews to the db
  318. #region Submit Buttons
  319. protected void btnSubmitMachine_Click(object sender, EventArgs e)
  320. {
  321. //add new machine to the database
  322.  
  323. Machine temp = new Machine();
  324. temp.MachineName = txtAddMachine.Text;
  325. temp.WorkcenterFK = Int32.Parse(ddlAddDept.SelectedValue);
  326. database.Machines.AddObject(temp);
  327. database.SaveChanges();
  328. bindGridViewData();
  329.  
  330. }
  331. protected void btnSubmitDept_Click(object sender, EventArgs e)
  332. {
  333. //add new workcenter to database
  334.  
  335. Workcenter temp = new Workcenter();
  336. temp.WorkCenterName = txtAddDept.Text;
  337. database.Workcenters.AddObject(temp);
  338. database.SaveChanges();
  339. bindGridViewData();
  340. }
  341. protected void btnUserSubmit_Click(object sender, EventArgs e)
  342. {
  343. //add new user to the database
  344.  
  345. HCA_QualityModel.User temp = new User();
  346. temp.Username = txtAddUser.Text;
  347. temp.Password = txtAddPassword.Text;
  348. database.Users.AddObject(temp);
  349. database.SaveChanges();
  350. bindGridViewData();
  351. }
  352. #endregion
  353. //Handles Updating, editing, and deleting Gridview Controls
  354. #region Gridview machines
  355. protected void grvMachines_RowDataBound(object sender, GridViewRowEventArgs e)
  356. {
  357.  
  358. DropDownList temp = (DropDownList)(e.Row.FindControl("ddlDept"));
  359. if (temp != null)
  360. {
  361. temp.DataSource = (from w in database.Workcenters select w);
  362. temp.DataTextField = "WorkCenterName";
  363. temp.DataValueField = "id";
  364. temp.DataBind();
  365. }
  366.  
  367. }
  368. protected void grvMachines_RowDeleting(object sender, GridViewDeleteEventArgs e)
  369. {
  370.  
  371. int id = Int32.Parse(((Label)grvMachines.Rows[e.RowIndex].FindControl("lblId") as Label).Text);
  372. database.Machines.DeleteObject(((Machine)(from m in database.Machines where m.id == id select m).Single()));
  373. database.SaveChanges();
  374. bindGridViewData();
  375. }
  376. protected void grvMachines_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
  377. {
  378.  
  379. grvMachines.EditIndex = -1;
  380. bindGridViewData();
  381. }
  382. protected void grvMachines_RowEditing(object sender, GridViewEditEventArgs e)
  383. {
  384. grvMachines.EditIndex = e.NewEditIndex;
  385. bindGridViewData();
  386. }
  387. protected void grvMachines_RowUpdating(object sender, GridViewUpdateEventArgs e)
  388. {
  389.  
  390.  
  391. //Gridviews have no data on postback from events, rebinding looses the selected values from edit mode.
  392.  
  393. bindGridViewData();
  394.  
  395. DropDownList dept = (DropDownList)grvMachines.Rows[grvMachines.EditIndex].FindControl("ddlDept");
  396. TextBox name = (TextBox)grvMachines.Rows[grvMachines.EditIndex].FindControl("txtMachine");
  397. Int32 id = (Convert.ToInt32(((Label)grvMachines.Rows[grvMachines.EditIndex].FindControl("lblId")).Text));
  398.  
  399. //Working Code to update the database, recieving incorrect data from controls due to rebinding
  400. HCA_QualityEntities database = new HCA_QualityEntities();
  401. Machine temp = (from m in database.Machines where m.id == id select m).First();
  402. temp.MachineName = (name.Text);
  403. temp.WorkcenterFK = Int32.Parse(dept.SelectedValue);
  404. database.SaveChanges();
  405. grvMachines.EditIndex = -1;
  406. bindGridViewData();
  407. }
  408. #endregion
  409.  
  410. myGridView.rowUpdating -= myGridView_rowUpdating;
  411. //code to populate
  412. myGridView.rowUpdating += myGridView_rowupdating;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement