Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не могу обратится к datagrid'y, The name 'DataGrid1' does not exist in t 
V
    Опции темы
MoRoZfromT
Дата 18.8.2006, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 24.3.2006

Репутация: нет
Всего: нет



Решил дописать один проект. с asp и c# не знаком.

есть два таких файла

entermoney.aspx
Код

<%@ Import Namespace="ttr" %>
<%@ Register Tagprefix="ttr" Tagname="menu" Src="menu.ascx" %>
<%@ Page language="c#" Inherits="ttr.users" CodeFile="entermoney.aspx.cs" %>

<!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>Enter money</title>
    <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR"/>
    <meta content="C#" name="CODE_LANGUAGE"/>
    <meta content="JavaScript" name="vs_defaultClientScript"/>
    <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema"/>
    <link href="style.css" type="text/css" rel="stylesheet"/>
<script language="javascript" type="text/javascript">
// <!CDATA[



// ]]>
</script>
</head>
<body>
    <ttr:menu id="menu" runat="server"></ttr:menu>
    <form id="Form1" method="post" runat="server">
            <asp:label id="ErrMsg" style="Z-INDEX: 101; LEFT: 24px; POSITION: absolute; TOP: 72px" runat="server"
                CssClass="err" Width="703px"></asp:label><asp:label id="textBoxTitle" style="Z-INDEX: 102; LEFT: 25px; POSITION: absolute; TOP: 92px"
                runat="server" CssClass="t" Width="703px">Enter money</asp:label>
    <hr style="Z-INDEX: 103; LEFT: 11px; POSITION: absolute; TOP: 119px" width="98%" size="1" id="HR1" onclick="return HR1_onclick()"/>
    <asp:datagrid id="dataGrid1" style="Z-INDEX: 105; LEFT: 30px; POSITION: absolute; TOP: 166px"
                runat="server" CssClass="y" BorderColor="#3366CC" BorderStyle="None" BorderWidth="1px" BackColor="White"
                CellPadding="4" AutoGenerateColumns="False">
                <SelectedItemStyle Font-Bold="True" ForeColor="#CCFF99" BackColor="#009999"></SelectedItemStyle>
                <ItemStyle ForeColor="#003399" BackColor="White"></ItemStyle>
                <HeaderStyle Font-Bold="True" ForeColor="#CCCCFF" BackColor="#003399"></HeaderStyle>
                <FooterStyle ForeColor="#003399" BackColor="#99CCCC"></FooterStyle>
                <Columns>
                    <asp:BoundColumn DataField="UserId" HeaderText="User Id"></asp:BoundColumn>
                    <asp:BoundColumn DataField="UserName" HeaderText="Login Name"></asp:BoundColumn>
                    <asp:BoundColumn DataField="FullName" HeaderText="Full Name"></asp:BoundColumn>
                    <asp:TemplateColumn HeaderText="Active">
                        <ItemTemplate>
                         <%# Convert.ToBoolean(DataBinder.Eval(Container.DataItem, "useractive")) ?  "Yes" : "No"%>
                        </ItemTemplate>
                    </asp:TemplateColumn>
                    <asp:TemplateColumn HeaderText="Sum">
                        <ItemTemplate>
                            <asp:TextBox id="textPrice" runat="server"  CssClass="x" style="Z-INDEX: 102;" width="40" ></asp:TextBox>    
                        </ItemTemplate>
                        <HeaderStyle Width="1cm" />
                    </asp:TemplateColumn>
                    <%--<asp:TemplateColumn HeaderText="Click">
                        <ItemTemplate>
                        <asp:Button ID="enter" Text="Enter" OnCommand="CommandBtn_Click" runat="server"/>
                        </ItemTemplate>
                        <HeaderStyle Width="1cm" />
                    </asp:TemplateColumn>--%>
                    <asp:ButtonColumn Text="Enter" CommandName="Entermoney"  ButtonType="PushButton"></asp:ButtonColumn>
                </Columns>
        <PagerStyle HorizontalAlign="Left" ForeColor="#003399" BackColor="#99CCCC" Mode="NumericPages"></PagerStyle>
    </asp:datagrid><asp:label id="textNoItemsDatabase" style="Z-INDEX: 106; LEFT: 30px; POSITION: absolute; TOP: 166px"    
                    runat="server" CssClass="x" Width="384px" Font-Bold="True">There are no users in the database.</asp:label>
        <asp:Label ID="Label1" style="Z-INDEX: 112; LEFT: 587px; POSITION: absolute; TOP: 246px" runat="server" Height="28px" Width="60px"></asp:Label>
        <asp:Button ID="Button1" style="Z-INDEX: 112; LEFT: 458px; POSITION: absolute; TOP: 246px" runat="server" Text="Enter money" CommandName="Entermoney" OnCommand="CommandBtn_Click"  ></asp:Button>
        
           
    </form>
</body>
</html>


entermoney.aspx.cs
Код

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Web.Security;
using System.Configuration;
using System.Data.OleDb;
using System.Globalization;
using ttr.Data;

namespace ttr
{
    /// <summary>
    /// Summary description for users.
    /// </summary>
    public partial class users : System.Web.UI.Page
    {
        protected OleDbDataAdapter oleDbDataAdapter1;
        protected DataSet dataSet1;

        protected void Page_Load(object sender, System.EventArgs e)
        {
            DataProvider DB = DataProvider.GetInstance();
            UserInfo.ChkAdminRights();

            string sql = string.Format("SELECT u.userid as UserId, u.username as UserName, u.firstlast as FullName, u.useractive, u.usertype, p.pl_name AS planname FROM ttr_users AS u LEFT OUTER JOIN ttr_plan AS p ON (u.planid=p.planid)");

            try
            {
                dataSet1 = DB.Select(sql);
                dataGrid1.DataSource = dataSet1;
            }
            catch (Exception ex)
            {
                ErrMsg.Text = ex.Message;
                return;
            };

            if (dataSet1.Tables[0].Rows.Count == 0)
            {
                // No users. Hide the datagrid.

                textNoItemsDatabase.Visible = true;
                dataGrid1.Visible = false;
                return;
            };

            textNoItemsDatabase.Visible = false;
            dataGrid1.Visible = true;

            if (!IsPostBack)
            {
                int numItems = dataSet1.Tables[0].Rows.Count;
                int pageSize = TtrGlobal.getDefaultPageSize();

                if (numItems > pageSize)
                {
                    dataGrid1.AllowPaging = true;
                    dataGrid1.PagerStyle.Mode = PagerMode.NextPrev;
                    dataGrid1.PagerStyle.Mode = PagerMode.NumericPages;
                    dataGrid1.PagerStyle.PageButtonCount = 25;
                    dataGrid1.PageSize = pageSize;
                    dataGrid1.PagerStyle.Position = PagerPosition.Bottom;
                }
                else
                {
                    dataGrid1.AllowPaging = false;
                    dataGrid1.PageSize = pageSize;
                };

                dataGrid1.DataBind();
            };

        }

        #region Web Form Designer generated code
        override protected void OnInit(EventArgs e)
        {
            //
            // CODEGEN: This call is required by the ASP.NET Web Form Designer.
            //
            InitializeComponent();
            base.OnInit(e);
        }

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.dataGrid1.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.dgUsers_PageIndexChanged);
            //this.dataGrid1.DeleteCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dgUsers_DeleteCommand);
            //this.dataGrid1 EntermoneyCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dgUsers_EntermoneyCommand);

        }
        #endregion

        private void dgUsers_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
        {
            dataGrid1.CurrentPageIndex = e.NewPageIndex;
            dataGrid1.DataBind();
        }

        private void dgUsers_DeleteCommand(object source,
            System.Web.UI.WebControls.DataGridCommandEventArgs e)
        {
            DataProvider DB = DataProvider.GetInstance();
            UserInfo.ChkAdminRights();

            // Get userid to be deleted

            int uid = 0;

            try
            {
                uid = Int32.Parse(e.Item.Cells[2].Text);
            }
            catch (Exception ex)
            {
                ErrMsg.Text = ex.Message;
                return;
            };

            try
            {
                string sql;

                sql = string.Format("DELETE FROM ttr_userfilters WHERE userid={0}", uid);
                DB.Exec(sql);

                sql = string.Format("DELETE FROM ttr_users WHERE (userid={0})", uid);
                DB.Exec(sql);
            }
            catch (Exception ex)
            {
                ErrMsg.Text = "Error! Exception during deleting user from database. " + ex.Message;
                return;
            }

            // Reload this page

            string url = string.Format("users.aspx?");
            Response.Redirect(url);
        }

        

        protected void ItemsGrid_ItemCommand(object source, DataGridCommandEventArgs e)
        {
            if (e.CommandName == "Entermoney")
            {
                // Add logic for addition operation here.
                this.Label1.Text = "Added";
            }

        }

        public void CommandBtn_Click(Object sender, CommandEventArgs e)
        {
            
            //Label1.Text = "OK";
            //if dataGrid1.Columns.GetEnumerator
            string s = DataGrid1.Items[1].FindControl("textPrice").Text;
            Label1.Text = s;
            
            
        }

       
}
    
}


в результате получаю  CS0103: The name 'DataGrid1' does not exist in the current context
на строке:         string s = DataGrid1.Items[1].FindControl("textPrice").Text;

как мне обратится к этому датагриду?
PM MAIL   Вверх
mr.DUDA
Дата 18.8.2006, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 5
Всего: 232



Цитата(MoRoZfromT @  18.8.2006,  10:55 Найти цитируемый пост)
в результате получаю  CS0103: The name 'DataGrid1' does not exist in the current contextна строке:         

string s = DataGrid1.Items[1].FindControl("textPrice").Text;

Имя переменной не DataGrid1, а dataGrid1, т.е. с маленькой буквы. Регистр символов учитывается в именах полей, переменных, классов и т.д.


--------------------
user posted image
PM MAIL WWW   Вверх
MoRoZfromT
Дата 18.8.2006, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 24.3.2006

Репутация: нет
Всего: нет



вот лохонулся то. спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0481 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.