2010-05-14 11 views
0

validation DataGrid en insertion mise à jour en asp.net

Untitled Page  

    <telerik:GridTemplateColumn Visible="false"> 
        <ItemTemplate> 
         <asp:Label ID="lblEmpID" runat="server" Text='<%# bind("pid") %>'> 
         </asp:Label> 
        </ItemTemplate> 
       </telerik:GridTemplateColumn> 
       <telerik:GridBoundColumn UniqueName="Fname" HeaderText="Fname" DataField="Fname" CurrentFilterFunction="NotIsNull" SortExpression="Fname"> 
       </telerik:GridBoundColumn> 
       <telerik:GridBoundColumn UniqueName="Lname" HeaderText="Lname" DataField="Lname" CurrentFilterFunction="NotIsNull" SortExpression="Lname"> 
       </telerik:GridBoundColumn> 
       <telerik:GridBoundColumn UniqueName="Designation" HeaderText="Designation" DataField="Designation" CurrentFilterFunction="NotIsNull" SortExpression="Designation"> 
       </telerik:GridBoundColumn> 


        <telerik:GridEditCommandColumn> 
       </telerik:GridEditCommandColumn> 


       <telerik:GridButtonColumn CommandName="Delete" Text="Delete" UniqueName="column"> 
       </telerik:GridButtonColumn> 

       </Columns> 

      <EditFormSettings> 
      <FormTemplate> 
      <table> 
      <tr> 
      <td>Fname*</td> 
      <td> 
      <asp:HiddenField ID="Fname" runat="server" Visible="false" /> 
      <asp:TextBox ID="txtFname" runat="server" Text='<%#("Fname")%>'> 
      </asp:TextBox> 
      <asp:RequiredFieldValidator ID="EvalFname" ControlToValidate="txtFname" ErrorMessage="Enter Name" runat="server" ValidationGroup="Update"> 
      *</asp:RequiredFieldValidator> 

      </td> 
      </tr> 

      <tr> 
      <td>Lname*</td> 
      <td> 
      <asp:HiddenField ID="HiddenField1" runat="server" Visible="false" /> 
      <asp:TextBox ID="txtLname" runat="server" Text='<%#("Lname")%>'> 
      </asp:TextBox> 
      <asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="txtLname" ErrorMessage="Enter Name" runat="server" ValidationGroup="Update"> 
      *</asp:RequiredFieldValidator> 

      </td> 
      </tr> 
      <tr> 
      <td>Designation* 
      </td> 
      <td> 
      <asp:HiddenField ID="HiddenField2" runat="server" Visible="false" /> 
      <asp:TextBox ID="txtDesignation" runat="server" Text='<%#("Designation")%>'> 
      </asp:TextBox> 
      <asp:RequiredFieldValidator ID="RequiredFieldValidator2" ControlToValidate="txtDesignation" ErrorMessage="Enter Designation" runat="server" ValidationGroup="Update"> 
      *</asp:RequiredFieldValidator> 

      </td> 
      </tr> 

      </table> 
      </FormTemplate> 
      <EditColumn UpdateText="Update record" UniqueName="EditCommandColumn1" CancelText="Cancel edit"> 
      </EditColumn> 
      </EditFormSettings> 
      </MasterTableView> 
      </telerik:RadGrid> 


</form> 

ceci est mon code que je veux effectuer la validation en utilisant les validateurs nécessaires, mais je pense que suis manquant smthin pls aider, voici mon code derrière using System; en utilisant System.Data; en utilisant System.Configuration; en utilisant System.Collections; en utilisant System.Web; en utilisant System.Web.Security; en utilisant System.Web.UI; en utilisant System.Web.UI.WebControls; en utilisant System.Web.UI.WebControls.WebParts; en utilisant System.Web.UI.HtmlControls; en utilisant System.Data.SqlClient; en utilisant Telerik.Web.UI;

public partial class Default7: System.Web.UI.Page { chaîne strQry; public SqlDataAdapter da;

public DataSet ds; 
public SqlCommand cmd; 
public DataTable dt; 
string strCon = "Data Source=MINETDEVDATA; Initial Catalog=ML_SuppliersProd; User Id=sa; [email protected];"; 

public SqlConnection con; 
protected void Page_Load(object sender, EventArgs e) 
{ 



} 

protected void RadGrid1_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e) 
{ 
    dt = new DataTable(); 
    con = new SqlConnection(strCon); 
    da = new SqlDataAdapter(); 
    try 
    { 


    strQry = "SELECT * FROM table2"; 
    con.Open(); 

    da.SelectCommand = new SqlCommand(strQry,con); 
    da.Fill(dt); 
    RadGrid1.DataSource = dt; 
    } 
    finally 
    { 
     con.Close(); 
    } 
} 
protected void RadGrid1_DeleteCommand(object source, Telerik.Web.UI.GridCommandEventArgs e) 
{ 
    con = new SqlConnection(strCon); 
    cmd = new SqlCommand(); 
    GridDataItem item = (GridDataItem)e.Item; 

    string pid = item.OwnerTableView.DataKeyValues[item.ItemIndex]["pid"].ToString(); 



    con.Open(); 
    string delete = "DELETE from table2 where pid='"+pid+"'"; 
    cmd.CommandText = delete; 
    cmd.Connection = con; 
    cmd.ExecuteNonQuery(); 

    con.Close(); 
} 
protected void RadGrid1_UpdateCommand(object source, GridCommandEventArgs e) 
{ 
    GridEditableItem radgriditem = e.Item as GridEditableItem; 
    string pid = radgriditem.OwnerTableView.DataKeyValues[radgriditem.ItemIndex]["pid"].ToString(); 

    string firstname = (radgriditem["Fname"].Controls[0] as TextBox).Text; 
    string lastname = (radgriditem["Lname"].Controls[0] as TextBox).Text; 
    string designation = (radgriditem["Designation"].Controls[0] as TextBox).Text; 
    con = new SqlConnection(strCon); 
    cmd = new SqlCommand(); 
    try 
    { 

     con.Open(); 

     string update = "UPDATE table2 set Fname='" + firstname + "',Lname='" + lastname + "',Designation='" + designation + "' WHERE pid='" + pid + "'"; 
     cmd.CommandText = update; 
     cmd.Connection = con; 
     cmd.ExecuteNonQuery(); 
     con.Close(); 
    } 
    catch (Exception ex) 
    { 
     RadGrid1.Controls.Add(new LiteralControl("Unable to update Reason: " + ex.Message)); 
     e.Canceled = true; 


    } 

} 
protected void RadGrid1_InsertCommand(object source, GridCommandEventArgs e) 
{ 
    GridEditFormInsertItem insertitem = (GridEditFormInsertItem)e.Item; 


    string firstname = (insertitem["Fname"].Controls[0] as TextBox).Text; 
    string lastname = (insertitem["Lname"].Controls[0] as TextBox).Text; 
    string designation = (insertitem["Designation"].Controls[0] as TextBox).Text; 
    con = new SqlConnection(strCon); 
    cmd = new SqlCommand(); 
    try 
    { 
     con.Open(); 
     String insertQuery = "INSERT into table1(Fname,Lname,Designation) Values ('" + firstname + "','" + lastname + "','" + designation + "')"; 
     cmd.CommandText = insertQuery; 
     cmd.Connection = con; 
     cmd.ExecuteNonQuery(); 
     con.Close(); 

    } 
    catch(Exception ex) 
    { 
     RadGrid1.Controls.Add(new LiteralControl("Unable to insert Reason:" + ex.Message)); 
     e.Canceled = true; 

    } 

} 

}

Répondre

0

Est-ce que votre touche ont la même valeur que ValidationGroup vos contrôles Validator?

Questions connexes