Rambler's Top100
Главная
Новости
Статьи
Форумы
Книги
Коды
Сообщество
Блоги
О нас
 

Логин

Email:
  Пароль:

Войти
Зарегистрироваться
Забыл пароль

Поиск

 Искать :
 
Вперед

Книги по теме

Искать:
в:
Порядок:

Исходник

Автор:

mogadanez

 
Название:

Выбор строки нажатием на нее

Дата: 09 June 2004
Описание: Данный пример позволяет выбрать строку грида при щелчке просто на строку, без кнопки Select 
  Разместить ссылку на этот исходник в форуме вы можете вставив в текст сообщения следующую строку: [CODEPOST ID=101]Выбор строки нажатием на нее[/CODEPOST]
Оценка: Проголосовало 23 посетителей, средняя оценка 3.91
Оценить:
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="Test_app.WebForm1" %>

<HTML>
<HEAD>
<title>WebForm1</title>

<script>
function selectRow(rowIndex)
{
document.getElementById('<%=inp_row_index.ClientID%>').value = rowIndex;
<%=GetPostBackEventReference(inp_row_index)%>

}
</script>
</HEAD>
<body >
<form id="Form1" method="post" runat="server">
<asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False" BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px" BackColor="White" CellPadding="3" GridLines="Horizontal">
<SelectedItemStyle Font-Bold="True" ForeColor="#F7F7F7" BackColor="#738A9C">
</SelectedItemStyle>
<AlternatingItemStyle BackColor="#F7F7F7">
</AlternatingItemStyle>
<ItemStyle ForeColor="#4A3C8C" BackColor="#E7E7FF">
</ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="#F7F7F7" BackColor="#4A3C8C">
</HeaderStyle>
<FooterStyle ForeColor="#4A3C8C" BackColor="#B5C7DE">
</FooterStyle>
<Columns>
<asp:BoundColumn DataField="Name"></asp:BoundColumn>
<asp:ButtonColumn Text="Button" ButtonType="PushButton" HeaderText="Set"></asp:ButtonColumn>
<asp:HyperLinkColumn DataTextField="Link" HeaderText="Go" NavigateUrl="http://ya.ru"></asp:HyperLinkColumn>
</Columns>
<PagerStyle HorizontalAlign="Right" ForeColor="#4A3C8C" BackColor="#E7E7FF" Mode="NumericPages">
</PagerStyle>
</asp:DataGrid>
<asp:Button id="Button2" runat="server"
Text="Button"></asp:Button><INPUT id=inp_row_index type=hidden name=Hidden1 runat="server">
</form>
</body>
</HTML>




//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;
namespace Test_app
{
/// <summary>
/// Summary description for WebForm1.
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid DataGrid1;
protected System.Web.UI.HtmlControls.HtmlInputHidden inp_row_index;
protected System.Web.UI.WebControls.Button Button2;

private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
DataBind();
}
}
public override void DataBind()
{
DataTable dt = new DataTable();
dt.Columns.Add("Name",typeof(string));
dt.Columns.Add("Link",typeof(string));
for(int i=0; i<10; ++i)
{
DataRow row = dt.NewRow();
row["Name"] = "Name" + i.ToString();
row["Link"] = "Go";
dt.Rows.Add(row);
}
DataGrid1.DataSource = dt;
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.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ItemDataBound);
this.inp_row_index.ServerChange += new System.EventHandler(this.inp_row_index_ServerChange);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void Button1_Click(object sender, System.EventArgs e)
{


}

private void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
e.Item.Attributes.Add("onclick", String.Format( "selectRow({0});", e.Item.ItemIndex ) );
}

}
private void inp_row_index_ServerChange(object sender, System.EventArgs e)
{
int index = int.Parse( inp_row_index.Value );
DataGrid1.SelectedIndex = index;
DataBind();
}
}
}
Вернуться к списку исходников в категории DataGrid, DataList, Repeater
 
Наш Киев

Apartments for Rent

Rambler's Top100
Рейтинг@Mail.ru
Идея: Dimon aka Manowar Программирование: Dimon aka Manowar Дизайн: Dan Lebedev
Хостинг от компании Parking.ru
Карта сайта