출처: https://stackoverrun.com/ko/q/6586360


Gridview의 데이터 중 중복 데이터를 찾아서 표시해준다.

 if (int.Parse(rowToCompare.Cells[0].Text) != int.Parse(row.Cells[0].Text)) 

첫번째 값만 비교.


코드는 다음과 같다.

using System.Data;
using System.Drawing; 


protected void bind()

    con.Open(); 
    SqlCommand cmd = con.CreateCommand(); 
    cmd.CommandType = CommandType.Text; 
    cmd.CommandText = "select * from tblSample"; 
    SqlDataAdapter da = new SqlDataAdapter(cmd); 

    DataSet ds = new DataSet(); 
    da.Fill(ds); 
    GridView1.DataSource = ds; 
    GridView1.DataBind(); 

    HighlightDuplicate(this.GridView1); 

    con.Close(); 

public void HighlightDuplicate(GridView gridview)

    for (int currentRow = 0; currentRow < gridview.Rows.Count - 1; currentRow++) 
    { 
         GridViewRow rowToCompare = gridview.Rows[currentRow]; 

         for (int otherRow = currentRow + 1; otherRow < gridview.Rows.Count; otherRow++)
        {
            GridViewRow row = gridview.Rows[otherRow];
            bool duplicateRow = true; 

            if (int.Parse(rowToCompare.Cells[0].Text) != int.Parse(row.Cells[0].Text))
            {
                duplicateRow = false;
            }
            else if (duplicateRow)
            {
                rowToCompare.BackColor = Color.Red;
                row.BackColor = Color.Red;
            } 

         } 

    } 

 } 

Posted by 노을지기

페이지 처음에

<%@ Page ClientTarget="uplevel" ... %>
를 추가하면 된다.


Posted by 노을지기

출처: http://kerberosj.tistory.com/91

같은 IIS 서버의 서로 다른 application에서 세션을 공유해야하여 자료를 검색중에 찾았다.

자세한 설명은 위 출처 사이트에서 확인하면된다.

1. 바인딩 주소 변경

HKML\SYSTEM\CurrentControlSet\Service\aspnet_state\Parameters\AllowRemoteConnections

값을 0에서 1로 변경한 후 서비스 재시작..

netstat -na 0.0.0:42424

2. 포트 변경방법

HKML\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\Port

3. state 서버에서 사용할 수 있도록 설정 (web.config)

<?xml version="1.0"?>

<configuration>

  <system.web>

<sessionState mode="StateServer" stateConnectionString="tcpip=[Server_ip_address:PORT]" cookieless="false" timeout="20" />

  </system.web>

</configuration?


[Server_ip_address:PORT]에 실제 서버주소를 입력하였다.

그리고 현재 테스트 서버환경은 windows 7인데, IIS 설정에서 Session Managment 메뉴에서 변경해 보았는데도 안되던것이.. 위와 같이 하니 제대로 작동하였다.

왜 이런지는 나중에 확인!!!!



Posted by 노을지기

출처: http://www.ezzylearning.com/tutorial.aspx?tid=5066444

protected void GridView_List_RowCommand(object sender, GridViewCommandEventArgs e)
{
           
            string currentCommand = e.CommandName;
            int currentRowIndex = Int32.Parse(e.CommandArgument.ToString());
            string ProductID = GridView_List.DataKeys[currentRowIndex].Value;

            Label1.Text = "Command: " + currentCommand;
            Label2.Text = "Row Index: " + currentRowIndex.ToString;
            Label3.Text = "Product ID: " + ProductID;   

}


 


<asp:ButtonField ButtonType="link" CommandName="ProductName" 
         DataTextField="ProductName" HeaderText="Name"
         SortExpression="ProductName" />



Posted by 노을지기

간단한 방법이 있었는데.. 이것을 못 찾고 있었다.ㅡㅡ;;

출처: http://stackoverflow.com/questions/17311757/on-clicking-the-hyperlink-inside-gridview-it-should-redirect-to-a-page-and-and

<asp:HyperLink ID="hlView" runat="server" Text="View" NavigateUrl='<%# "~/pageredirect.aspx?id=" + Eval("Id") %>'></asp:HyperLink>

 

변형

<Columns>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:HyperLink ID="HyperLink_Edit" runat="server" NavigateUrl='<%# "./CustomerTemplateDetail.aspx?code=" + Eval("NO") %>' Text="Edit"></asp:HyperLink>
                </ItemTemplate>
            </asp:TemplateField>

</Columns>



Posted by 노을지기