C# İle İlgili 2 Soru

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    LuCiFeR
    LuCiFeR's avatar
    Kayıt Tarihi: 25/Eylül/2005
    Erkek

    Herkese selamlar ; 2 sorum var bunlardan ilki şöyle

     

    Bir datagridview ım var ve bunun içerisinde ki bilgileri excel e export etmek istiyorum ayrıca 2 adet label ım var bu export edilen dataların en altına da bu iki labelda bulunan değerleri eklemek istiyorum. ( Panel içerisine alabilirim nesneleri ) webde gayet basit olmasına rağmen maalesef winform da bunu sağlıklı yapamadım.

     

    2.sorum Messagebox lar ile ilgili MessageBoxIcon u editlemek istiyorum kendi iconumu nasıl yerleştirebilirim ?

     

    herkese iyi çalışmalar dilerim...

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    rappermcs
    rappermcs's avatar
    Kayıt Tarihi: 04/Ekim/2002
    Erkek

    2. soruna cevap vereyim hocam..

    milyon tane overload ı var :)


    Paslanmış bir uygulama geliştirici.. ##
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    LuCiFeR
    LuCiFeR's avatar
    Kayıt Tarihi: 25/Eylül/2005
    Erkek
    rappermcs bunu yazdı

    2. soruna cevap vereyim hocam..

    milyon tane overload ı var :)

    Abi sanırı9m bunlar hali hazırda ki prop.ları benim messagebox da şöyle bir icon göstermem gerekiyor http://www.veryicon.com/icon/32/System/Sleek%20XP%20Basic/Ok.png

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    FCN
    FCN's avatar
    Kayıt Tarihi: 28/Eylül/2007
    Erkek

    http://msdn.microsoft.com/en-gb/magazine/cc188920.aspx şurda bişiler var veya mesajbox yerine kendi classını yaz yeni bir formu showdialogla açarsın ondan veri döndürürsün. 

     

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    rappermcs
    rappermcs's avatar
    Kayıt Tarihi: 04/Ekim/2002
    Erkek

    Ben de şöyle birşey buldum.

    http://www.codeguru.com/csharp/.net/net_general/eventsanddelegates/article.php/c13193/Creating-a-Custom-Message-Box.htm

    http://stackoverflow.com/questions/6560493/messagebox-show-custom-icon

     

    Telekom kilitlemiş :) işyerimde olduğum için bakamıyorum sanırım bu işini görecektir :)

     


    Paslanmış bir uygulama geliştirici.. ##
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    furkan5816
    furkan5816's avatar
    Kayıt Tarihi: 25/Mayıs/2012
    Erkek

    Fikir edinmen açısından VB ile yazdığım dll vardı onun kodlarını paylaşıyorum.

    excel_ad => excel dosyasına veriğin isim

    excel_kolon => excelde yazdıracağın kolonların ismi

    excel_veri_liste => veritabanından çekilen verilerin liste ye atılmış hali

     Public Sub excelolustur(ByVal excel_ad As String, ByVal excel_kolon_liste As List(Of String), ByVal excel_veri_liste As List(Of String))

            Try

     

                Dim objFileStream As FileStream

                Dim objStreamWriter As StreamWriter

                Dim dosya_adı As String = excel_ad + ".xls"

                Dim dosya_yolu As String = "C:\Users\furkan1\Desktop\" + dosya_adı

                objFileStream = New FileStream(dosya_yolu, FileMode.Create, FileAccess.Write)

                objStreamWriter = New StreamWriter(objFileStream, System.Text.Encoding.Default)

                Dim str As String = ""

     

     

                For index = 0 To excel_kolon_liste.Count - 1

     

                    str += excel_kolon_liste(index) + Chr(9)

                Next

     

                objStreamWriter.WriteLine(str)

                str = ""

     

                For index = 0 To excel_veri_liste.Count - 1

     

                    If index Mod excel_kolon_liste.Count = 0 Then

                        objStreamWriter.WriteLine(str)

                        str = ""

                    End If

                    

                    str += excel_veri_liste(index) + Chr(9)

     

                Next

     

                objStreamWriter.Close()

                objFileStream.Close()

            Catch ex As Exception

            End Try

        End Sub

     

    www.developerfusion.com üzerinden kodları c# a çevirebilirsin.

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    attackatak
    attackatak's avatar
    Kayıt Tarihi: 06/Mayıs/2007
    Erkek

    1.sorunda bir çok yolu izleyebilirsin.
    Gördüğüm en iyi yol .net 4.0 ile gelen dynamic kontrolleriyle yapmak. Çok kısa ve kolay bir yöntem.

     

    Ben aşağıda ki gibi yapıyorum: (silverlight için yapmıştım. Kodu biraz değiştirmen gerekicektir. içeriye notlar yazdım)

     

    public class clsExcel
        {

    #region bu methodu collection itemssource kullanılması zorunlu olan silverlight gibi uygulamalarında gerektiği için silmedim. sen silebilirsin.
            public object GetValue(object o, string path)
            {
                var index = path.LastIndexOf('.');

                if (index > 0)
                {
                    var propPath = path.Substring(0, index);
                    path = path.Substring(index + 1);
                    o = GetValue(o, propPath);
                }

                if (o == null)
                    return null;

                var property = o.GetType().GetProperty(path);

                var value = property.GetValue(o, null);

                return value;
            }

    #endregion
            public void excelAktar(DataGrid myDataGrid)
            {
                var dataGrid = myDataGrid;
                var headers = "";
                foreach (var column in dataGrid.Columns)
                {
                    headers += "<Cell ss:StyleID=\"OrangeStyle\"><Data ss:Type=\"String\">" + column.Header + "</Data></Cell>";
                }
    #region burada ve üstte dataTable içinde dönmen gerekir. yani biraz editlemen gerekiyor. alta extra satır atacaksan da aşağıda ki kodda yapabilirsin.
                var data = "";
                foreach (var row in dataGrid.ItemsSource)
                {
                    data += "<Row>\n";
                    foreach (var column in dataGrid.Columns)
                    {
                        var binding = (column as DataGridBoundColumn).Binding;
                        var path = binding.Path.Path;
                        var value = GetValue(row, path);
                        data += "<Cell><Data ss:Type=\"String\">" + value + "</Data></Cell>\n";
                    }
                    data += "</Row>\n";
                }
    #endregion
                string excelXML = xmlTemplate.Replace("[headers]", headers).Replace("[data]", data);

                byte[] contents = Encoding.UTF8.GetBytes(excelXML);

                var dialog = new SaveFileDialog();
                dialog.DefaultExt = ".xml";
                dialog.Filter = "Excel (*.xls)|*.xls";
                if (dialog.ShowDialog() == true)
                {
                    using (Stream s = dialog.OpenFile())
                    {
                        s.Write(contents, 0, contents.Length);
                    }
                }
            }

            public string xmlTemplate = @"
    <?xml version=""1.0""?>
    <?mso-application progid=""Excel.Sheet""?>
    <Workbook xmlns=""urn:schemas-microsoft-com:office:spreadsheet""
     xmlns:o=""urn:schemas-microsoft-com:office:office""
     xmlns:x=""urn:schemas-microsoft-com:office:excel""
     xmlns:ss=""urn:schemas-microsoft-com:office:spreadsheet""
     xmlns:html=""http://www.w3.org/TR/REC-html40"">
     <DocumentProperties xmlns=""urn:schemas-microsoft-com:office:office"">
      <Version>12.00</Version>
     </DocumentProperties>
     <ExcelWorkbook xmlns=""urn:schemas-microsoft-com:office:excel"">
      <ProtectStructure>False</ProtectStructure>
      <ProtectWindows>False</ProtectWindows>
     </ExcelWorkbook>
     <Styles>
      <Style ss:ID=""OrangeStyle"">
       <Interior ss:Color=""#FFC000"" ss:Pattern=""Solid""/>
      </Style>
     </Styles>
     <Worksheet ss:Name=""Export"">
      <Table x:FullColumns=""1""
       x:FullRows=""1"" ss:DefaultRowHeight=""15"">
       <Row>[headers]</Row>
       [data]
    </Table>
      <WorksheetOptions xmlns=""urn:schemas-microsoft-com:office:excel"">
       <PageSetup>
        <Header x:Margin=""0.3""/>
        <Footer x:Margin=""0.3""/>
        <PageMargins x:Bottom=""0.75"" x:Left=""0.7"" x:Right=""0.7"" x:Top=""0.75""/>
       </PageSetup>
       <Print>
        <ValidPrinterInfo/>
        <PaperSizeIndex>9</PaperSizeIndex>
        <HorizontalResolution>600</HorizontalResolution>
        <VerticalResolution>0</VerticalResolution>
       </Print>
       <Selected/>
       <Panes>
        <Pane>
         <Number>3</Number>
         <ActiveRow>4</ActiveRow>
         <ActiveCol>3</ActiveCol>
        </Pane>
       </Panes>
       <ProtectObjects>False</ProtectObjects>
       <ProtectScenarios>False</ProtectScenarios>
      </WorksheetOptions>
     </Worksheet>
    </Workbook>
    ";
        }

  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    LuCiFeR
    LuCiFeR's avatar
    Kayıt Tarihi: 25/Eylül/2005
    Erkek

    Win form için bu arada arkadaşlar ilk postda yazmayı unutmuşum

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    attackatak
    attackatak's avatar
    Kayıt Tarihi: 06/Mayıs/2007
    Erkek
    LuCiFeR bunu yazdı

    Win form için bu arada arkadaşlar ilk postda yazmayı unutmuşum

    yazdığım kodda ki notları uygularsan winform için de kullanabilirsin hocam. ilk methodu silmen ve ikinci region içinde ki yeri dataTable yapman yeterli olacaktır.

Toplam Hit: 1264 Toplam Mesaj: 10