Darsh12345 Ответов: 2

Я хочу отобразить строки в порядке возрастания в gridview после нажатия на кнопку. Пожалуйста, помогите мне


Я хочу отобразить строки в порядке возрастания в gridview после нажатия на кнопку. пожалуйста, помогите мне, Вот код.

охраняемых недействительными методе button2_click(объект отправителя, EventArgs в электронной)
{
пробовать
{
DataTable dt = новый DataTable();
Dbconn.Открыть();
string str = "select id,dte from test order by id asc";
oda = новый OracleDataAdapter(str, Dbconn);
ОПР.Заполнение(dt);

Управления gridview1.Привязку();

}

поймать (исключение бывший)
{

}
}

Что я уже пробовал:

охраняемых недействительными методе button2_click(объект отправителя, EventArgs в электронной)
{
пробовать
{
DataTable dt = новый DataTable();
Dbconn.Открыть();
string str = "select id,dte from test order by id asc";
oda = новый OracleDataAdapter(str, Dbconn);
ОПР.Заполнение(dt);

Управления gridview1.Привязку();

}

поймать (исключение бывший)
{

}
}

2 Ответов

Рейтинг:
2

Praveen_P

Пожалуйста, обратитесь к следующей статье

Как выполнить сортировку в Gridview in ASP.NET[^]


В.aspx-страницу вам нужно указать событие OnSorting и нужно установить AllowSorting=true, чтобы элемент управления GridView. Затем вам нужно добавить логику сортировки в метод, указанный в событии OnSorting


Рейтинг:
2

an0ther1

Вам нужно установить свойство GridView datasource как показано ниже;

// Fill the datatable from your adapter
odaFill(dt);
// Set the grid data source
GridView1.DataSource = dt;
// bind the grid
GridView1.DataBind();


с уважением


Darsh12345

произошла ошибка.
[InvalidOperationException: и DataSource, и DataSourceID определены на 'GridView1'. Удалите одно определение.]

Darsh12345

&ЛТ;%@ страницы язык="в C#" AutoEventWireup значение=значение"true" CodeFile="по умолчанию.aspx-файл.КС" наследует="помощью _default" %&ГТ;
&ЛТ;%@ зарегистрировать Assembly="Аjaxcontroltoolkit" пространство имен="Аjaxcontroltoolkit" атрибута tagprefix="СС1" %&ГТ;
<!Элемент DOCTYPE в HTML общественности "-//W3C для//определения DTD XHTML 1.0 переходный//ванной" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&ГТ;



<название>



&ЛТ;СС1:ToolkitScriptManager идентификатор="scriptmanager1" атрибут runat="сервер" CombineScripts="правда"и GT;


&ЛТ;АСП:метка идентификатор="lblmsg" атрибут runat="сервер"и GT;
<br \>

&ЛТ;АСП:метка идентификатор="Метка1" атрибут runat="сервер" текст="currdate"&ГТ;
&ЛТ;АСП:текстовое поле с ID="txtcurrdate" атрибут runat="сервер" только для чтения="правда"и GT;


&ЛТ;АСП:метка идентификатор="Метка2" атрибут runat="сервер" текст="changedate"&ГТ;
&ЛТ;АСП:текстовое поле с ID="txtchangedate" атрибут runat="сервер"и GT;
&ЛТ;СС1:CalendarExtender идентификатор="CalendarExtender2" атрибут runat="сервер" формат="ДД-МММ-гггг"
TargetControlID="txtchangedate">


<asp:Button ID="btnsubmit" runat="server" Text="submit"
onclick="btnsubmit_Click" />



в ASP:GridView в элемент ID="gridview1, на" атрибут runat="сервер" AllowPaging=&ЛТ;"правда"
AutoGenerateColumns="False" DataKeyNames="id" DataSourceID="HPCLMR"
CellPadding="4" ForeColor="#333333" GridLines="None" Width="228px">
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
<колонки>
&ЛТ;как ASP:BoundField datafield в="идентификатор" HeaderText="идентификатор" только для чтения="истинный"
SortExpression="ID" />
<asp:BoundField DataField="DTE" HeaderText="DATE" SortExpression="DTE" />
<asp:TemplateField AccessibleHeaderText="select">
<itemtemplate>
<asp:CheckBox ID="dateselector" runat="server" />



<EditRowStyle BackColor="#999999" />
&ЛТ;FooterStyle свойства backcolor="#5D7B9D" шрифт-жирный="истинный" цвет="белый" /&ГТ;
&ЛТ;HeaderStyle свойства backcolor="#5D7B9D" шрифт-жирный="истинный" цвет="белый" /&ГТ;
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
&ЛТ;SelectedRowStyle свойства backcolor="#E2DED6" шрифт-жирный="истинный" цвет="#333333" /&ГТ;
<SortedAscendingCellStyle BackColor="#E9E7E2" />
<SortedAscendingHeaderStyle BackColor="#506C8C" />
<SortedDescendingCellStyle BackColor="#FFFDF8" />
<SortedDescendingHeaderStyle BackColor="#6F8DAE" />

в <!--&ЛТ;в ASP:sqldatasource его идентификатор="HPCLMR" атрибут runat="сервер"
ConnectionString="<%$ ConnectionStrings:ConnEmp %>"
ProviderName="<%$ ConnectionStrings:ConnEmp.Имя_поставщика %&ГТ;"
Команды selectcommand="выбрать идентификатор, ДТЭ от того, тест по ID по убыванию" и GT;
-->

&ЛТ;АСП:кнопка ID="элемент button2" атрибут runat="сервер" функция onclick="button2_click следующий"
Text="восходящий" />
&ЛТ;АСП:кнопка ID="кнопка 1" атрибут runat="сервер" функция onclick="обработчика button1_click" текст="удалить" /&ГТ;










Darsh12345

использование системы;
использование системы.Коллекции.Общий;
использование System.Linq;
использование системы.Сеть;
использование System.Web.UI;
используя системы.Веб.Пользовательского интерфейса.WebControls;
использование System.Data;
использование System.Data.OracleClient;
использование системы.Конфигурация;
использование системы.ИО;
использование System.Net;
использование System.Web.Caching;
использование AjaxControlToolkit;

общественный разделяемого класса _default : на системы.Веб.Пользовательского интерфейса.Страницы
{
OracleConnection Dbconn = новый OracleConnection(ConfigurationManager.ConnectionStrings["ConnEmp"].Параметр connectionString.Метод toString());
DataTable dt;
OracleDataAdapter oda;
OracleCommand cmd;
охраняемых недействительными в(объект отправителя, EventArgs в электронной)
{
if (!IsPostBack)
{
txtcurrdate.Text = DateTime.Now.ToString("ДД-ММ-гггг");

}
}
public void SetDate()
{
пробовать
{
{

string str = "insert into test(dte) values('" + txtchangedate.Текст + "')";
cmd = new OracleCommand(str, Dbconn);
if (Dbconn.Состояние == ConnectionState.Закрытый)
{
Dbconn.Открыть();
}
УМК.Метод executenonquery();

lblmsg.Text = "Дата Вставлена Успешно";
lblmsg.ForeColor = Система.Рисование.Цвет.Зеленый;
}



}
поймать (исключение бывший)
{
бросок экс;
}
}
общественного недействительными функции getdate()
{
пробовать
{

DataTable dt = новый DataTable();
string str = "select id,dte from test order by id desc";
oda = новый OracleDataAdapter(str, Dbconn);
ОПР.Заполнение(dt);
txtcurrdate.Text = dt.Rows[0]["DTE"].Метод toString();
Управления gridview1.Привязку();
}
поймать (исключение бывший)
{

}
}

охраняемых недействительными btnsubmit_Click(объект отправителя, EventArgs в электронной)
{
пробовать
{
SetDate();
функция GETDATE();
}
поймать (исключение бывший)
{

}
}
охраняемых недействительными обработчика button1_click(объект отправителя, EventArgs в электронной)
{
пробовать
{

DataTable dt = новый DataTable();

bool atLeastOneRowDeleted = false;

по каждому элементу (строка GridViewRow в управления gridview1.Строк)
{

CheckBox cb = (флажок)строка.FindControl("dateselector");
если (ЦБ != нуль &амп;&амп; УП.Проверено)
{
atLeastOneRowDeleted = true;
int id = конвертировать.ToInt32(GridView1.DataKeys[строка.Параметр rowindex].Значение);
Dbconn.Открыть();
OracleCommand cmd = new OracleCommand("удалить из теста, где Id=" + id, Dbconn);
int result = cmd.Метод executenonquery();
Управления gridview1.Привязку();


}

}
}
поймать (исключение бывший)
{

}
}
охраняемых недействительными методе button2_click(объект отправителя, EventArgs в электронной)
{
пробовать
{
DataTable dt = новый DataTable();
Dbconn.Открыть();
string str = "select id,dte from test order by id asc";
oda = новый OracleDataAdapter(str, Dbconn);
ОПР.Заполнение(dt);
Управления gridview1.Источник данных = ДТ;
Управления gridview1.Привязку();

}

поймать (исключение бывший)
{

}
}
}

an0ther1

В вашем определении GridView у вас есть следующее;
в ASP:GridView в элемент ID="gridview1, на" атрибут runat="сервер" AllowPaging=&ЛТ;"правда"
AutoGenerateColumns="False" DataKeyNames="id" DataSourceID="HPCLMR"
CellPadding="4" ForeColor="#333333" GridLines="None" Width="228px">
Удалять; DataSourceID="HPCLMR"
Это может вызвать другие проблемы, в зависимости от того, как заполняется ваш источник данных "HPCLMR" - здесь нет кода, который показывает это..
Лично я не использую DataSourceId.

с уважением

Darsh12345

удаленный.
но это не отменяет вид сетки.
только отображение текущей даты, изменение даты, удаление и кнопка возрастания

an0ther1

ОК...Смотрите, где у вас есть ниже;
в <!--&ЛТ;в ASP:sqldatasource его идентификатор="HPCLMR" атрибут runat="сервер"
ConnectionString="<%$ ConnectionStrings:ConnEmp %>"
ProviderName="<%$ ConnectionStrings:ConnEmp.Имя_поставщика %&ГТ;"
Команды selectcommand="выбрать идентификатор, ДТЭ от того, тест по ID по убыванию" и GT;
-->

Здесь вы определили источник данных. Вы должны быть в состоянии сбросить SelectCommand из кода позади, а затем повторно привязать сетку без datatable.

с уважением

Darsh12345

правильно ли написан этот код?
охраняемых недействительными GridView1_SelectedIndexChanged(объект отправителя, EventArgs в электронной)
{
пробовать
{

Dbconn.Открыть();
string str = "select id,dte from test order by id asc";
oda = новый OracleDataAdapter(str, Dbconn);
ОПР.Заполнение(dt);
Управления gridview1.Источник данных = ДТ;
Управления gridview1.Привязку();

}

поймать (исключение бывший)
{

}

an0ther1

Единственное, что есть ОПР.Заполнить(ДТ) - где объявлен ДТ и как он объявлен? Он должен быть объявлен следующим образом;
DataTable dt;
Я не использую Oracle, но я думаю, что вам нужно включить имя схемы при запросе таблицы

с уважением