科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道利用ASP.NET AJAX实现表格更新程序

利用ASP.NET AJAX实现表格更新程序

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

   今天看了一个网站http://aspadvice.com/blogs/azamsharp/archive/2007/06/28/Edit-GridView-Using-CheckBoxes.aspx,自己做了一个小程序,表格更新程序。

作者:中国IT实验室 来源:中国IT实验室 2007年10月2日

关键字: AJAX ASP.NET 编程

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共2页)

   今天看了一个网站http://aspadvice.com/blogs/azamsharp/archive/2007/06/28/Edit-GridView-Using-CheckBoxes.aspx,自己做了一个小程序,表格更新程序,主要功能为使用CheckBoxe允许编辑GridView行,并且能够保存修改的信息
具体程序如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MultipleUpdateDemo.aspx.cs" Inherits="MultipleUpdateDemo" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    
<title>无标题页</title>
    
<script type="text/C#" runat="server">
        [System.Web.Services.WebMethod]
        public static bool UpdateText(string categoryName, string description, string Id)
        
{
            string conectionString 
= "Data Source=(local);Initial Catalog=Northwind;User ID=sa;Password=sa";
            System.Data.SqlClient.SqlConnection conn 
= new System.Data.SqlClient.SqlConnection(conectionString);
            conn.Open();
            System.Data.SqlClient.SqlCommand cmd 
= new System.Data.SqlClient.SqlCommand("UPDATE Categories SET CategoryName = '" + categoryName + "', Description = '" + description + "' WHERE CategoryID = " + Id, conn);
            cmd.ExecuteNonQuery();
            conn.Close();
            
return true;
            
        }

    
</script>
    
<script type="text/javascript">

    
function disableGridViewTextBoxes() 
    
{
        
var gvControl = document.getElementById("gvCategories"); 
        
var inputElements = gvControl.getElementsByTagName("INPUT"); 
        
for( i = 0;i < inputElements.length; i++
        
{
            
if(isTextBox(inputElements[i])) 
            
{
                inputElements[i].disabled 
= true;
            }

        }

    }


    
function isTextBox(obj) 
    
{
        
return obj.type == 'text';
    }


    
function editMode(obj) 
    
{
        
var rowObject = obj.parentElement.parentElement; 
        
var inputElements = getElementsByTagName(rowObject,"INPUT"); 

        
if(obj.checked) 
        

            showElements(inputElements,
"INPUT","text"); 
        }

        
else 
        

            hideElements(inputElements,
"text"); 
        }
 
    }

    
    
function updateMode(obj)
    
{
        
var rowObject = obj.parentElement.parentElement; 
        
var inputElements = getElementsByTagName(rowObject,"INPUT"); 
        
        
var msg = new Array();

        
for(var i=0;i<inputElements.length;i++
        
{
            
if(inputElements[i].type == "checkbox")
            
{
                inputElements[i].checked 
= false;
            }

            
if(inputElements[i].type == "text")
            
{
                msg.push(inputElements[i].value);
            }

            
if(inputElements[i].type == "hidden")
            
{
                msg.push(inputElements[i].value);
            }

        }

        PageMethods.UpdateText(msg[
0], msg[1], msg[2], onSuccess);
        hideElements(inputElements,
"text"); 
        
    }

    
    
function onSuccess(response)
    
{
    }


    
function showElements(list, tagName,type) 
    
{
        
for(i = 0;i < list.length; i++
        
{
            
if(isTypeOf(list[i],"text")) 
            
{
                list[i].disabled 
= false;
                list[i].focus(); 
                
//list[i].select(); 
            }

        }

    }


    
function isTypeOf(obj,type) 
    
{
        
return obj.type == type;
    }


    
function hideElements(list, type) 
    
{
        
for(i = 0; i < list.length;i++
        

            
if(isTypeOf(list[i],type)) 
            
{
                list[i].disabled 
= true;
            }

        }

    }

    
function getElementsByTagName(obj,tagName) 
    
{
        
return obj.getElementsByTagName(tagName);
    }

    
</script>
</head>
<body>
    
<form id="form1" runat="server">
    
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
    
</asp:ScriptManager>
    
<div>
    
<asp:GridView ID="gvCategories" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1">
    
<Columns>
    
<asp:TemplateField>
    
<ItemTemplate>
    
<asp:CheckBox ID="chkSelect" runat="server" onclick="editMode(this)" />
    
</ItemTemplate>
    
</asp:TemplateField>
    
<asp:TemplateField HeaderText="Category Name">
    
<ItemTemplate>
    
<asp:TextBox ID="txtCategoryName" BorderWidth="0px" ForeColor="red" runat="server"
    Text
='<%# Eval("CategoryName") %>' />
    
</ItemTemplate>
    
</asp:TemplateField>
    
<asp:TemplateField HeaderText="Description">
    
<ItemTemplate>
    
<asp:TextBox ID="txtDescription" BorderWidth="0px" ForeColor="red" runat="server"
    Text
='<%# Eval("Description") %>' />
    
</ItemTemplate>
    
</asp:TemplateField>
     
<asp:TemplateField>
    
<ItemTemplate>
    
<asp:HiddenField Value='<%# Eval("CategoryID") %>' ID="hiddenId" runat="server" />
    
</ItemTemplate>
    
</asp:TemplateField>
    
<asp:TemplateField>
    
<ItemTemplate>
    
<input type="button" runat="server" id="btnUpdate" value="更新" onclick="updateMode(this)" />
    
</ItemTemplate>
    
</asp:TemplateField>
    
</Columns>
    
</asp:GridView>
        
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
            SelectCommand
="SELECT * FROM [Categories]"></asp:SqlDataSource>
    
</div>
    
</form>
</body>
</html>
<script>
disableGridViewTextBoxes(); 
</script>

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章