word太难了,用Excel没有任务问题

解决方案 »

  1.   

    总是有办法的。
    比如,虽然初期你不绑定数据,但在gridview里,有一个当数据为空的时候的模板列EmptyDataTemplate。
    你可以给gridview一个空数据源让它绑定,然后EmptyDataTemplate里面的东西就会显示出来。
    这样,你就可以在EmptyDataTemplate模版列里去画表格,添加控件,去实现你的功能。就和在外面操作是一样的,只不过,所有这些控件,都需要你去findcontrol。
      

  2.   

    <asp:GridView ID="GridView1" 
                        runat="server"
                        CellPadding="0"
                        ForeColor="#333333"
                        Font-Size="9pt"
                        width="100%"
                        DataKeyNames="id"
                        GridLines="None"
                        AutoGenerateColumns="False"
                        ShowFooter="True"
                        OnRowDataBound="GridView1_RowDataBound"
                        OnRowCancelingEdit="GridView1_RowCancelingEdit"
                        OnRowEditing="GridView1_RowEditing" 
                        OnRowUpdating="GridView1_RowUpdating">
                        <FooterStyle BackColor="#5D7B9D" ForeColor="White" Font-Bold="True" />
                        <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
                        <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
                        <HeaderStyle BackColor="#CCCCCC" HorizontalAlign="Left"  Font-Bold="True" Height="20px" ForeColor="White" />
                       <Columns>
                          <asp:TemplateField HeaderText="用户名" SortExpression="newstype">
                               <EditItemTemplate>
                                   <asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("username") %>'></asp:TextBox>
                               </EditItemTemplate>
                               <ItemTemplate>
                                   <asp:Label ID="Label6" runat="server" Text='<%# Bind("username") %>'></asp:Label>
                               </ItemTemplate>
                               <FooterTemplate>
                                   <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                               </FooterTemplate>
                           </asp:TemplateField>
                           <asp:TemplateField HeaderText="用户密码" SortExpression="newstype">
                               <EditItemTemplate>
                                   <asp:TextBox ID="TextBox6" runat="server" Text='<%# Bind("userpass") %>'></asp:TextBox>
                               </EditItemTemplate>
                               <ItemTemplate>
                                   <asp:Label ID="Label7" runat="server" Text='<%# Bind("userpass") %>'></asp:Label>
                               </ItemTemplate>
                               <FooterTemplate>
                                   <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
                               </FooterTemplate>
                           </asp:TemplateField>
                           <asp:TemplateField HeaderText="公司名称" SortExpression="title">
                               <EditItemTemplate>
                                   <asp:TextBox ID="TextBox7" runat="server" Text='<%# Eval("CompanyName") %>'></asp:TextBox>
                               </EditItemTemplate>
                               <ItemTemplate>
                                   <asp:Label ID="Label2" runat="server" Text='<%# Bind("CompanyName") %>'></asp:Label>
                               </ItemTemplate>
                               <FooterTemplate>
                                   <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
                               </FooterTemplate>
                           </asp:TemplateField>
                           <asp:TemplateField HeaderText="有效日期" SortExpression="newstype">
                               <EditItemTemplate>
                                   <asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("ValidDate") %>'></asp:TextBox>
                               </EditItemTemplate>
                               <ItemTemplate>
                                   <asp:Label ID="Label5" runat="server" Text='<%# Bind("ValidDate") %>'></asp:Label>
                               </ItemTemplate>
                               <FooterTemplate>
                                   <asp:TextBox ID="TextBox8" runat="server"></asp:TextBox>
                               </FooterTemplate>
                           </asp:TemplateField>
                        <asp:TemplateField SortExpression="id">
                        <HeaderTemplate>
                          <asp:Button ID="deleButton" runat="server"  Text="-删" Width="25px" Height="20px"  ForeColor="red" Font-Strikeout="false" OnClick="deleButton_Click" />
                        </HeaderTemplate>
                        <ItemTemplate>
                           <asp:CheckBox ID="CheckBox" runat="server"  />
                        </ItemTemplate>
                            <FooterTemplate>
                                <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="新建" />
                            </FooterTemplate>
                        </asp:TemplateField>
                           <asp:CommandField ButtonType="Button" ShowEditButton="True"  />
                        </Columns>
                            <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
                            <EditRowStyle BackColor="#999999" />
                            <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
                        </asp:GridView>
      

  3.   

    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
        {
                GridView1.EditIndex = e.NewEditIndex;
                GridviewDatabind();
              
        }
        protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
                TextBox tbUserName = (TextBox)GridView1.Rows[e.RowIndex].FindControl("TextBox5");
                TextBox tbUserPass = (TextBox)GridView1.Rows[e.RowIndex].FindControl("TextBox6");
                TextBox tbCompanyName = (TextBox)GridView1.Rows[e.RowIndex].FindControl("TextBox7");
                TextBox tbValidate = (TextBox)GridView1.Rows[e.RowIndex].FindControl("TextBox4");
                string dkvalue = GridView1.DataKeys[e.RowIndex].Value.ToString();             sql ="Update  LoginTable_User set username=@UserName,userpass=@UserPass,companyname=@CompanyName,validdate=@ValidDate where Id='"+dkvalue+"'";
                 conn.Open();
                 SqlCommand cmd = new SqlCommand(sql, conn);
                 cmd.Parameters.Add("@UserName", SqlDbType.VarChar, 50);
                 cmd.Parameters["@UserName"].Value = tbUserName.Text;
                 cmd.Parameters.Add("@UserPass", SqlDbType.VarChar, 50);
                 cmd.Parameters["@UserPass"].Value = tbUserPass.Text;
                 cmd.Parameters.Add("@CompanyName", SqlDbType.VarChar, 100);
                 cmd.Parameters["@CompanyName"].Value = tbCompanyName.Text;
                 cmd.Parameters.Add("@ValidDate", SqlDbType.DateTime, 8);
                 if (tbValidate.Text.Length > 0)
                 {
                     cmd.Parameters["@ValidDate"].Value = Convert.ToDateTime(tbValidate.Text);
                 }
                 else
                 {
                     cmd.Parameters["@ValidDate"].Value = DBNull.Value;
                 }
                cmd.ExecuteNonQuery();
                conn.Close();
                GridView1.EditIndex = -1;
                GridviewDatabind();
        }    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
                GridView1.EditIndex = -1;
                GridviewDatabind();
        }
        protected void GridView1_RowUpdated(object sender, GridViewUpdatedEventArgs e)
        {
           
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            if (GridView1.Rows.Count >= 0)
            {
                TextBox inUserName = (TextBox)GridView1.FooterRow.FindControl("TextBox1");
                TextBox inUserPass = (TextBox)GridView1.FooterRow.FindControl("TextBox2");
                TextBox inCompName = (TextBox)GridView1.FooterRow.FindControl("TextBox3");
                TextBox inValidDate = (TextBox)GridView1.FooterRow.FindControl("TextBox8");
                try
                {
                    string sql = "Insert into  LoginTable_User (username,userpass,companyname,validdate) values(@UserName,@UserPass,@CompanyName,@ValidDate)";
                    conn.Open();
                    SqlCommand cmd = new SqlCommand(sql, conn);
                    cmd.Parameters.Add("@UserName", SqlDbType.VarChar, 50);
                    cmd.Parameters["@UserName"].Value = inUserName.Text;
                    cmd.Parameters.Add("@UserPass", SqlDbType.VarChar, 50);
                    cmd.Parameters["@UserPass"].Value = inUserPass.Text;
                    cmd.Parameters.Add("@CompanyName", SqlDbType.VarChar, 100);
                    cmd.Parameters["@CompanyName"].Value = inCompName.Text;
                    cmd.Parameters.Add("@ValidDate", SqlDbType.DateTime, 8);
                    if (inValidDate.Text.Length > 0)
                    {
                        cmd.Parameters["@ValidDate"].Value = Convert.ToDateTime(inValidDate.Text);
                    }
                    else
                    {
                        cmd.Parameters["@ValidDate"].Value = DBNull.Value;
                    }
                    cmd.ExecuteNonQuery();
                    conn.Close();
                    GridView1.EditIndex = -1;
                    GridviewDatabind();
                      
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                finally
                {
                    conn.Close();
                }
            }